尝试查看emmeans中的交互图-由emmip中缺少参数引起的错误?

时间:2018-10-31 18:32:08

标签: r emmeans

我正在关注此小插图,在这里使用Emmeans检查互动 https://cran.r-project.org/web/packages/emmeans/vignettes/interactions.html

但是我使用的是我自己的数据集(all.det)-确实存在重大交互。 all.det包含1621个观测值,其中包含12个变量,其中3个是因子。 我确实尝试创建了一个可重现的示例,但是还没有弄清楚如何创建一个所有交互都很重要的示例。因此,我希望这种描述足以使某人指出我要去哪里。

我正在使用

library(data.table)
library(car)
library(emmeans)

我使用此代码运行方差分析

DistanceKm是一个数字,方法,IDGroup和可见性是因素。

model = lm(DistanceKm ~ Method * IDGroup * Sightability,
           data=all.det[(IDGroup == "Whale" | IDGroup == "Dolphin")
                        & DistanceKm <=5])
Anova(model, type="II")

所有互动都很重要,因此我按照小插图中的建议进行互动互动

emmip(model, Method ~ Sightability | IDGroup)

但是我得到这些错误

Error in if (!all(chk == tbl)) stop("Data appear to be randomized -- ",  : 
  missing value where TRUE/FALSE needed
Error in ref_grid(object, ...) : 
  Perhaps a 'data' or 'params' argument is needed

我确实尝试创建数据的子集

sub=all.det[(IDGroup == "Whale" | IDGroup == "Dolphin") & DistanceKm <=5]

然后重新运行模型,然后运行Anova

model=lm(DistanceKm ~ Method * IDGroup * Sightability, data=sub)
Anova(model, type="II")

我得到了与预期相同的Anova结果,但是现在我也能够生成没有错误的交互图了。

emmip(model, Method ~ Sightability | IDGroup)

我只收到一条警告,而不是有关缺少值的警告

打电话给emmip时我会丢失某些东西吗?

1 个答案:

答案 0 :(得分:2)

我有类似的警告,然后发现我在数据框中误解了我的一个因素。检查您的数据框,确保没有不应该存在的NA值。