我想对数字CSV文件使用mean()函数。
代码非常简单。
data <- read.csv("12.csv")
mean(data)
X1 X2 X3 X4 X5 X6 X7 X8 X9
1 10.01 10.13 10.09 10.08 10.12 10.16 10.15 10.21 10.12
但是,R studio告诉我一个警告消息,“ mean.default(data):参数不是数字或逻辑:返回NA”
但是sd()函数和sum()函数可用。
如何将mean()函数应用于CSV文件?
如果有人有什么想法,我将不胜感激。
答案 0 :(得分:0)
由于我们没有csv文件,请使用dput()
提供您的数据:
dput(data)
structure(list(X1 = 10.01, X2 = 10.13, X3 = 10.09, X4 = 10.08,
X5 = 10.12, X6 = 10.16, X7 = 10.15, X8 = 10.21, X9 = 10.12),
class = "data.frame", row.names = "1")
mean
函数可用于矢量,而不适用于数据帧(列表)。您想要行的平均值吗?
rowMeans(data)
1
10.11889
您是否有多于一行,并且想要所有行中所有值的均值?例如,我们可以将您的数据行堆叠成三行:
mean(unlist(rbind(data, data, data)))
[1] 10.11889
unlist()
函数将数据帧转换为简单的值字符串。仅当所有列均为数字时,此方法才有效。或者,您可以采用行均值的平均值:
mean(rowMeans(rbind(data, data, data)))
[1] 10.11889