繁体   English   中英

密度错误。默认值:x必须为数字

[英]error in density.default : x must be numeric

这个问题可能已经重复了。 但是即使经过前面的链接,我也无法解决。 我有一个文件,如下所示:

data <- read.table("data.txt", header=TRUE)

             Samp1           Samp2     Samp3
cg00000029  0.79015390399987 0.8301816 0.8966661
cg00000108 0.970260858767027 0.9655997 0.9699428
cg00000109 0.948456317952246 0.9209855 0.9325146
cg00000165 0.267769194351135 0.2370634 0.3867273

我希望在该列之外创建一个密度图(例如Samp1)。 当我使用以下

>plot(density(na.omit(data$Samp1)), col="black")

我收到以下错误:

Error in density.default(na.omit(data$Samp1)) : argument 'x' must be numeric

谁能帮助我知道我要如何纠正这个问题? 我已经为相似的文件创建了密度图,但是没有得到这个错误。 仅用于此文件。

感谢您的帮助。 提前致谢..

好吧,由于某种原因,您的数据是非数字的:您是否尝试过使用as.numeric()将其强制为正确的类型?

编辑 :使用unlist()将其转换为列表类型似乎是答案

我遇到了同样的问题,可以通过以下方法解决此问题:

a<- density(treeDF$real)
plot(a$x, a$y, col="turquoise2")
b<- density(treeDF$rpart)
lines(b$x, b$y, col="deeppink3")
c<- density(treeDF$rpart_Fourier)
lines(c$x, c$y, col="blue")
legend("topright", legend = c("real value", "rpart()", "rpart() + Fourier tem"),
    col=c("turquoise2", "deeppink3", "blue"), lty=1:1, cex=0.8, box.lty = 0)

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM