为什么意思是给NA?

时间:2014-12-10 19:38:48

标签: r mean

我有一个数字(非NA)数据列表,我可以正确地返回sumsd,但不能mean。我可以sum(data)/length(data)自己计算均值,但mean(data)会返回NA。如果重要的话,我计算它的方法是对数据进行排序,然后选择最大的7,如下所示:

tQs = sort(dat[ist,7:16]);
tQs = tQs[4:10];
print(tQs);
cat(sprintf("sum : %.2f\n", sum(tQs)));
cat(sprintf("avg : %.2f\n", sum(tQs)/length(tQs)));
cat(sprintf("mean: %.2f\n", mean(tQs)));
cat(sprintf("std : %.2f\n", sd(tQs)));

这是输出:

   Quiz4 Quiz2 Quiz1 Quiz3 Quiz5 Quiz7 Quiz10
27    60    80   100   100   100   100    100
sum : 640.00
avg : 91.43
mean: NA
std : 15.74

知道为什么mean无效?

编辑:最后打开warnings()说:argument is not numeric or logical: returning NA

1 个答案:

答案 0 :(得分:3)

平均值不适用于data.frames。它只适用于矢量和矩阵。

如果您尝试

 mean(as.matrix(tQs))

它应该有效 - 假设基础数据没有问题。