用于计算R中的组平方和之间的公式

时间:2014-03-15 19:54:34

标签: r

任何人都可以告诉我如何在R之间编码SS 手动计算,它是Σni(meanXi - the grand mean)2

感谢, LP

2 个答案:

答案 0 :(得分:2)

如果你有一个值为x的向量和x_mean中的均值,你可以像这样手动计算SS错误:

> x=c(1,2,3,4,5)
> x_mean = mean(x)
> x-x_mean
[1] -2 -1  0  1  2
> (x-x_mean)^2
[1] 4 1 0 1 4
> sum((x-x_mean)^2)
[1] 10

答案 1 :(得分:0)

不确定这是你想要的,但是

#  create sample dataset: 5 groups, 10 values per group
set.seed(1)
df   <- data.frame(group=rep(LETTERS[1:5],each=10),value=rnorm(50))
# calculate between-group sum of squares (SSB)
sum((aggregate(value~group,df,mean)$value-mean(df$value))^2)
# [1] 0.07938908

这会使用aggregate(...)按组计算平均值,然后将平均值与平均值(mean(df$value))之间的平方值相加。