Tukey HSD用于混合连续和分类变量,错误:"没有因素"

时间:2014-05-09 15:23:38

标签: r anova categorical-data continuous

我试图对死亡率数据进行Tukey检验,我想测试死亡率是否受铜量(单因素方差分析)和铜与温度的组合(在双向ANOVA)。这些是我的公式:

lm2<-lm(Mortality~Cu) 
anova(lm2) 
TukeyHSD(aov(Mortality~Cu)) 

lm2<-lm(Mortality~Cu+Temp+Cu:Temp) 
anova(lm2) 
TukeyHSD(aov(Mortality~Cu+Temp+Cu:Temp)) 

ANOVA没问题,但是对于Tukey这两个问题,我收到以下错误信息:

    Error in TukeyHSD.aov(aov(Mortality ~ Cu + Temp + Cu:Temp)) : 
      no factors in the fitted model 
    In addition: Warning messages: 
    1: In replications(paste("~", xx), data = mf) : non-factors ignored: Cu 
    2: In replications(paste("~", xx), data = mf) : non-factors ignored: Temp 
    3: In replications(paste("~", xx), data = mf) : 
      non-factors ignored: Cu, Temp 

我已经在其他帖子上看到应该有某个因素,但我的所有数据都是数字!我很困惑,不知道接下来该做什么。

提前感谢您的帮助!

Lundill

1 个答案:

答案 0 :(得分:6)

TukeyHSD仅适用于分类变量,因此它会在您的公式中查找因子。 Cu离散胸围的值是否只是编码为数值?如果是,那么使用

fCu<-factor(Cu)
TukeyHSD(aov(Mortality~fCu)) 

或观察结果是否连续?然后你必须把它分成间隔,把它变成一个因子。你可以做到

fCu<-cut(Cu, breaks=4)
TukeyHSD(aov(Mortality~fCu)) 

如果等式右侧只有一部分变量是因子,则必须在which的{​​{1}}参数中明确指定。因此,如果您使用分类TukeyHSDfCu是连续数字变量,则可以执行

Temp

虽然它仍会发出关于其他列的警告,所以我不确定如何解释结果