我正在将在线指南与旧文本配对来学习 R(第 182 页 - http://cran.r-project.org/doc/contrib/Faraway-PRA.pdf )。当我使用 R 包中的数据时(如教程示例中所示),没有问题。然而,当我使用文本中的数据时,我总是以没有 F 值和警告结束。
看一下:
将数据放入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))
检查数据框:
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
融化数据.frame:
mcar.noise<- melt(car.noise, id.var="speed")
检查融化的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。如果您认为合适但没有足够的数据来拟合具有交互的模型,则可以尝试拟合没有交互的模型。
关于R:在 anova.lm(g) 中:对基本完美拟合的方差分析 F 检验是不可靠的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8550288/