R:lm()有因素。不明白ANOVA表如何计算“Sum Sq”

时间:2013-02-13 17:27:39

标签: r lm anova

我正在学习R并试图了解lm()如何处理因子变量&如何理解ANOVA表。我对统计数据比较陌生,所以请温柔地对待我。

这是来自烂番茄的一些电影数据。我试图根据4组中所有电影的平均分数来模拟每部电影的得分:评分为G,PG,PG-13和R的那些。

download.file("http://www.rossmanchance.com/iscam2/data/movies03RT.txt", destfile = "./movies.txt")
movies <- read.table("./movies.txt", sep = "\t", header = T, quote = "")
lm1 <- lm(movies$score ~ as.factor(movies$rating))
anova(lm1)

和ANOVA输出:

## Analysis of Variance Table
## 
## Response: movies$score
##                           Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(movies$rating)   3    570     190    0.92   0.43
## Residuals                136  28149     207

我了解如何获取此表中的所有数字,Sum SqMean Sqas.factor(movies$rating)。有人可以解释一下如何根据我的数据计算Sum Sq吗?我知道Mean Sq只是Sum Sq除以Df

1 个答案:

答案 0 :(得分:1)

有各种方法可以实现这一目标。其中之一是使用等式:

http://en.wikipedia.org/wiki/Sum_of_squares_(statistics)

SS_total = SS_reg + SS_error

所以:

y = movies$score
sum((y - mean(y))^2) - sum(lm1$residuals^2)