Dataframe R:为什么数字数据被视为非数字数据?

Dataframe R:为什么数字数据被视为非数字数据?,dataframe,mean,Dataframe,Mean,我的R脚本是: aa <- data.frame("1","3","1.5","2.1") mean(aa) 然后我得到: [1] NA 警告消息:In mean.defaultaa:参数不是数字或逻辑参数:返回NA 在不删除引号或将data.frame更改为其他内容的情况下,是否可以解决此问题?对于data.frame,如果要获取每列的平均值,可以使用colMeans函数: aa <- data.frame("1","3","1.5","2.1", stringsAsFactor

我的R脚本是:

aa <- data.frame("1","3","1.5","2.1")
mean(aa)
然后我得到:

[1] NA

警告消息:In mean.defaultaa:参数不是数字或逻辑参数:返回NA

在不删除引号或将data.frame更改为其他内容的情况下,是否可以解决此问题?

对于data.frame,如果要获取每列的平均值,可以使用colMeans函数:

aa <- data.frame("1","3","1.5","2.1", stringsAsFactors = FALSE)
aa <- sapply(aa, as.numeric)
colMeans(aa)
mean(colMeans(aa))  # if you want average across all columns

必须使用stringsAsFactors=FALSE创建data.frame,否则所有字符值都将是单独的因子,每个因子的序号为1。每个值的数字表示为1。

它应该是一个data.frame。我实际上是在试图重现一个错误。我想相信stringsAsFactors是你遇到麻烦的地方。