我已经阅读了有关如何计算R中各列的均值的各种线程,但我遇到的问题是我在R中使用的函数到目前为止给出了与其他程序(SAS和SPSS)不同的结果。
到目前为止,我已经使用了这些功能:
newdata2$birdsMean <- rowMeans(newdata2[,7:15], na.rm=TRUE)
(The bird data appears in columns 7 to 15.)
和:
newdata2$mean=rowMeans(newdata2[,c("bird1", "bird2", "bird3", "bird4", "bird5", "bird6", "bird7", "bird8", "bird9")], na.rm=TRUE)
和:
newdata2$mean <- rowMeans(subset(newdata2, select = c(bird1, bird2, bird3, bird4, bird5, bird6, bird7, bird8, bird9)), na.rm = TRUE)
上述所有这些功能都给我的结果与SAS和SPSS不同,因为我与其他使用这两个程序的人一起工作,我担心这些差异。在一个例子中,平均值的差异大到308。
此外,上述函数中的中位数与SAS和SPSS中相同变量的中位数相同,但大多数其他结果(Min,Max,SD)不同。
到目前为止,以下函数给出的结果与SAS和SPSS一致:
mean(newdata2$bird1, na.rm = TRUE)
((然后我为其他鸟类重复此操作,然后打开计算器以获得所有鸟类的平均值。))
和:
Supermean <- (mean(newdata2$bird1, na.rm = TRUE) + mean(newdata2$bird2, na.rm = TRUE) + mean(newdata2$bird3, na.rm = TRUE) + mean(newdata2$bird4, na.rm = TRUE) + mean(newdata2$bird5, na.rm = TRUE) + mean(newdata2$bird6, na.rm = TRUE) + mean(newdata2$bird7, na.rm = TRUE) + mean(newdata2$bird8, na.rm = TRUE) + mean(newdata2$bird9, na.rm = TRUE))/9
这个方法的问题在于我无法得到关于Mean,median,min,max,sd等的精彩摘要,除非我为那些创建一个新函数。
总结一下,我的问题是:
1)我的功能中是否存在明显错误,这些错误给出的结果与SAS和SPSS不同(SAS和SPSS结果相同)?我是R的新手,但我在其他Stack线程上找到了这些函数。
2)是否有其他方法可以获得手段和精彩的汇总统计数据?
3)R中的中位数与SAS和SPSS中的中位数相同并不奇怪,为什么会这样?
4)上述哪项功能表明R的良好/不良做法?
5)个体鸟类的手段与SPSS和SAS一致,但是当我将所有鸟类包含在使用rowmeans的函数中但我没有看到任何错误时,会出现问题。由于结果不一致,我对我的项目依赖上述功能犹豫不决。我认为这可能是一个舍入错误,但这并不能解释我将SPSS文件导入R中的差异(我认为),R中单个鸟类的平均值与SAS和SPSS中单个鸟类的平均值相匹配。我也将这个方法用于其他变量,所以我希望我能在R中准确地工作。感谢您的帮助。
答案 0 :(得分:0)
来自R帮助:
## Compute row and column sums for a matrix:
x <- cbind(x1 = 3, x2 = c(4:1, 2:5))
> x
x1 x2
[1,] 3 4
[2,] 3 3
[3,] 3 2
[4,] 3 1
[5,] 3 2
[6,] 3 3
[7,] 3 4
[8,] 3 5
rowMeans(x, na.rm = TRUE)
[1] 3.5 3.0 2.5 2.0 2.5 3.0 3.5 4.0
colMeans(x, na.rm = TRUE)
x1 x2
3 3
可能colMeans
是要走的路