当我运行此代码时,我在ANOVA表中获得NAN值。我认为列'V3'的因素排序不正确。这是问题吗?
我也在statsmodel(对于python)中尝试过OLS库,但我也遇到了一些关于NaN和无限值的错误。
data <- read.csv(file = 'dogs2.csv',header=FALSE, sep=",")
data
V1 V2 V3
0.28 Dog 1 Isofluorane
0.3 Dog 1 Halothane
1.07 Dog 1 Cyclopropane
0.51 Dog 2 Isofluorane
0.39 Dog 2 Halothane
1.35 Dog 2 Cyclopropane
1 Dog 3 Isofluorane
0.63 Dog 3 Halothane
0.69 Dog 3 Cyclopropane
0.39 Dog 4 Isofluorane
0.68 Dog 4 Halothane
0.28 Dog 4 Cyclopropane
0.29 Dog 5 Isofluorane
0.38 Dog 5 Halothane
1.24 Dog 5 Cyclopropane
0.36 Dog 6 Isofluorane
0.21 Dog 6 Halothane
1.53 Dog 6 Cyclopropane
0.32 Dog 7 Isofluorane
0.88 Dog 7 Halothane
0.49 Dog 7 Cyclopropane
0.69 Dog 8 Isofluorane
0.39 Dog 8 Halothane
0.56 Dog 8 Cyclopropane
0.17 Dog 9 Isofluorane
0.51 Dog 9 Halothane
1.02 Dog 9 Cyclopropane
0.33 Dog 10 Isofluorane
0.32 Dog 10 Halothane
0.3 Dog 10 Cyclopropane
anova(lm(as.numeric(data$V1) ~ as.factor(data$V2) * as.factor(data$V3), data))
Warning message in anova.lm(lm(as.numeric(data$V1) ~ as.factor(data$V2) * as.factor(data$V3), :
"ANOVA F-tests on an essentially perfect fit are unreliable"
Df Sum Sq Mean Sq F value Pr(>F)
as.factor(data$V2) 9 268.9667 29.88519 NaN NaN
as.factor(data$V3) 2 168.4667 84.23333 NaN NaN
as.factor(data 𝑉2):𝑎𝑠.𝑓𝑎𝑐𝑡𝑜𝑟(𝑑𝑎𝑡𝑎 V3) 18 827.5333 45.97407 NaN NaN
Residuals 0 0.0000 NaN NA NA
我不确定为什么F统计数据是NaN。
编辑:当我从模型中删除交互并使用'V2 + V3'而不是'V2 * V3'时,ANOVA表已完成。但是,我确信我想测量这两个变量之间的相互作用。
答案:
aov(lm(as.numeric(data$V1) ~ as.factor(data$V2) * as.factor(data$V3), data))
单向anova