我在Mac上使用R 2.11,但我已经安装了3.1.1版本。
lala.csv是一个包含七个变量的数据框,每个变量有85个观测值,其中有一些NA
以下代码运行正常:
lala <- read.table("lala.csv", header=TRUE, sep=";", strip.white=TRUE, dec=".",
na.strings="NA")
mean(lala, na.rm=TRUE)
barplot(mean(lala, na.rm = TRUE))
但现在不行了。
现在它正在返回mean()
In mean.default(lala, na.rm = TRUE) : argument is not numeric or logical: returning NA
我已经读过read.csv / table不像以前那样工作的事实,所以我试过
lala <- read.table("lala.csv", header=TRUE, sep=";", strip.white=TRUE, dec=".",
na.strings="NA", colClasses=c("numeric", "numeric", "numeric",
"numeric","numeric", "numeric",
"numeric"))
但是当我尝试
时is.numeric(lala)
它返回FALSE
最后,它适用于以下内容,也适用于sapply
colMeans(lala, na.rm=TRUE)
barplot(colMeans(lala, na.rm=TRUE))
但对我来说,这意味着函数意味着不再适用于数据帧。 有没有其他方法可以得到我的东西?
谢谢
答案 0 :(得分:1)
从那时到现在,R-Core决定摆脱mean.data.frame
。他们发出了警告(无论什么时候使用它),它在几个版本中被弃用,然后最终将其终止(几个版本之前)。如果您不定期更新,那么您就不会看到警告。 (它与在Mac上没有任何关系,SnowLeopard的R 3.1.1在这方面与小牛队的3.1.1有任何不同。)