我有以下数据框:
s
V1 V2 V3 V4 V5 V6 V7 V8
1 0 8 7 15 9 10 9 9
2 8 0 8 16 12 12 12 12
3 7 8 0 15 11 10 10 8
4 15 16 15 0 17 15 17 15
5 9 12 11 17 0 11 10 12
6 10 12 10 15 11 0 11 8
7 9 12 10 17 10 11 0 13
8 9 12 8 15 12 8 13 0
class (s)
# [1] "data.frame"
class (s[1,1])
# [1] "numeric"
我添加了一个新列以计算每行的平均值:
s$means<-data.frame(Means=rowMeans(s[,-1]))
以下是计算的平均值:
s
V1 V2 V3 V4 V5 V6 V7 V8 Means
1 0 8 7 15 9 10 9 9 9.571429
2 8 0 8 16 12 12 12 12 10.285714
3 7 8 0 15 11 10 10 8 8.857143
4 15 16 15 0 17 15 17 15 13.571429
5 9 12 11 17 0 11 10 12 10.428571
6 10 12 10 15 11 0 11 8 9.571429
7 9 12 10 17 10 11 0 13 10.428571
8 9 12 8 15 12 8 13 0 9.714286
然而,计算错误。 每行的正确平均值如下:
V1 V2 V3 V4 V5 V6 V7 V8 Average
1 0 8 7 15 9 10 9 9 8.375
2 8 0 8 16 12 12 12 12 10
3 7 8 0 15 11 10 10 8 8.625
4 15 16 15 0 17 15 17 15 13.75
5 9 12 11 17 0 11 10 12 10.25
6 10 12 10 15 11 0 11 8 9.625
7 9 12 10 17 10 11 0 13 10.25
8 9 12 8 15 12 8 13 0 9.625
为什么计算错误以及如何修复?