【问题标题】:F-Test not included in Two way anovaF-Test 不包括在双向方差分析中
【发布时间】:2019-08-24 12:18:53
【问题描述】:

当我运行此代码时,我的 ANOVA 表中得到了 NAN 值。我相信列“V3”的因素排序不正确。是这个问题吗?

我还尝试了 statsmodel 中的 OLS 库(用于 python),但我也遇到了一些关于 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 表就完成了。但是,我确定我想测量这两个变量之间的交互作用。

【问题讨论】:

标签: r statistics anova


【解决方案1】:

答案:

aov(lm(as.numeric(data$V1) ~ as.factor(data$V2) * as.factor(data$V3), data))

单向方差分析

【讨论】:

  • 我们需要一种方法让 R 将数据识别为块设计实验,其中个体受试者以随机顺序接受多次治疗。哦,你不是说 '+' 而不是 '*' 吗?
  • 似乎 F 统计量等于 ( SS_V? / ( # of levels in V? - 1 ) ) / ( SS_Error / ( # of levels in V1 * # # levels in V2 * (#每个单元格中每个组合中的观察值 - 1) ) ) 。然而,由于每个单元格中只有 1 个观察值,因此我们得到了除以零的误差。
  • 我们如何让 R 将 F 统计量的分母设置为 SS_(V2:V3) / ( ( # of levels in V1 - 1 ) * ( # levels in V2 -1 ) ) 代替目前是什么?
  • 两种思维方式。如果想详细看统计结果,可以看函数内置代码或者拆分数据。如果没有帮助,我很抱歉。
猜你喜欢
  • 2011-02-25
  • 2021-09-19
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-07
相关资源
最近更新 更多