升级到R 3.1.1后运行lmer时出现问题

时间:2014-08-22 16:41:02

标签: r anova lmer

我正在运行Windows XP,最近我升级到R 3.1.1并更新了所有软件包。奇怪的是,我不能再对自己的数据运行lmer了。当我使用R 2.15时,我的代码工作正常。我也尝试在lme4包中使用sleepstudy数据集,并且工作正常。

我观察了6个日期中16个样地(高度多样性处理中8个,低多样性处理中8个)中幼苗数量的变化。这是数据框的结构:

>str (Dataset)
'data.frame':   96 obs. of  5 variables:
   Plot   : Factor w/ 16 levels "10B","12A","13B",..: 12 13 14 15 16 1 2 3 4 5 ...
   Trt    : Factor w/ 2 levels "high","low": 2 1 1 2 1 2 1 2 2 1 ...
   Date   : Factor w/ 6 levels "Apr-12","Apr-13",..: 1 1 1 1 1 1 1 1 1 1 ...
   Seed   : int  0 0 2 7 1 0 8 0 2 5 ...

我尝试运行完整模型,其中Date和Treatment为固定因子,Plot为随机因素:

> seeds <- lmer(Seed~Trt*Date+(1|Plot), Dataset)

但我继续犯这个错误:

Error in get(ctr, mode = "function", envir = parent.frame()) : 
object 'contr.Treatment' of mode 'function' was not found

我试过运行一个简单的模型,只需要处理和绘图,或只是日期和情节,我仍然会得到同样的错误。将数据导入R时,我是否做了一些时髦的事情?我有什么想法我做错了吗?

- 更新9/29/2014 -
所以我尝试在一些假数据上运行aov,即使这样也行不通。这是我的代码:

> thing = c(4, 5, 4, 3, 2, 4, 3, 4, 4, 6, 8, 4, 5, 4, 6, 5, 8, 6, 6, 7, 6, 6, 7, 5, 6, 5, 5)
> treatment = c(rep("A",9), rep("B",9), rep("C",9))
> Dataset = data.frame(thing,treatment)
> results = aov(thing ~ treatment, data=Dataset)  

我得到同样的错误:

Error in get(ctr, mode = "function", envir = parent.frame()) : 
object 'contr.Treatment' of mode 'function' was not found

1 个答案:

答案 0 :(得分:1)

当我尝试在lmer对象上运行挖掘功能(来自“MuMin”)并且一直在寻找具有类似问题的人时,我收到了相同的错误消息。

我没有在网上找到问题的解决方案,但在阅读完这个问题后,我找了 contr 。治疗并在“汽车”包中找到了它。
“car”已关闭,打开它为我删除了错误。似乎“汽车”应该作为依赖加载,但它不是出于任何原因。