为什么我不能将mean()函数用于CSV文件?

时间:2020-06-25 01:27:51

标签: r csv mean

我想对数字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文件?

如果有人有什么想法,我将不胜感激。

1 个答案:

答案 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
相关问题