我正在将在线指南与旧文本配对以学习R(第182页- http://cran.r-project.org/doc/contrib/Faraway-PRA.pdf)。当我使用来自R的包中的数据时(如教程示例中),没有问题。但是,当我使用文本中的数据时,我总是不以f值和警告结束。
看一看:
data into a data.frame:
car.noise <- data.frame( speed = c("idle", "0-60mph", "over 60"), chrysler = c(41,65,76),
bmw = c(45,67,72), ford = c(44,66,76), chevy = c(45,66,77), subaru = c(46,76,64))
检查data.frame:
car.noise
speed chrysler bmw ford chevy subaru
1 idle 41 45 44 45 46
2 0-60mph 65 67 66 66 76
3 over 60 76 72 76 77 64
融化data.frame:
mcar.noise<- melt(car.noise, id.var="speed")
check melt data.frame
> mcar.noise
speed variable value
1 idle chrysler 41
2 0-60mph chrysler 65
3 over 60 chrysler 76
4 idle bmw 45
5 0-60mph bmw 67
6 over 60 bmw 72
7 idle ford 44
8 0-60mph ford 66
9 over 60 ford 76
10 idle chevy 45
11 0-60mph chevy 66
12 over 60 chevy 77
13 idle subaru 46
14 0-60mph subaru 76
15 over 60 subaru 64
执行方差分析并得到警告:
> anova(lm(value ~ variable * speed, mcar.noise))
Analysis of Variance Table
Response: value
Df Sum Sq Mean Sq F value Pr(>F)
variable 4 6.93 1.73
speed 2 2368.13 1184.07
variable:speed 8 205.87 25.73
Residuals 0 0.00
Warning message:
In anova.lm(lm(value ~ variable * speed, mcar.noise)) :
ANOVA F-tests on an essentially perfect fit are unreliable
我能想到的唯一两个解释:
1:我编码错误2:文本示例太"完美"了,因为它们试图显示清晰的示例
您正在尝试拟合一个模型,该模型为可变*速度的每个组合提供单独的平均值。对于你所拥有的数据,这意味着你根本没有任何复制。这就像试图比较两组,而每组中只有一个值。
如果你看一下方差分析表中的"残差"行,你应该注意到你在那里没有任何自由度,你的平方和也是0。如果你觉得合适,你可以尝试在没有交互的情况下拟合模型,但你没有足够的数据来拟合具有交互的模型。