【发布时间】:2016-11-10 01:34:12
【问题描述】:
我正在尝试使用这些数据运行 lme 模型:
tot_nochc=runif(10,1,15)
cor_partner=factor(c(1,1,0,1,0,0,0,0,1,0))
age=runif(10,18,75)
agecu=age^3
day=factor(c(1,2,2,3,3,NA,NA,4,4,4))
dt=as.data.frame(cbind(tot_nochc,cor_partner,agecu,day))
attach(dt)
corpart.lme.1=lme(tot_nochc~cor_partner+agecu+cor_partner *agecu,
random = ~cor_partner+agecu+cor_partner *agecu |day,
na.exclude(day))
我收到此错误代码:
na.fail.default(list(cor_partner = c(1L, 1L, 2L, 1L, 1L, 1L, : 对象中的缺失值
我知道论坛中有类似的问题。但是,就我而言:
- cor_partner 没有缺失值;
- 整个对象被编码为一个因素(至少从全球环境显示的内容来看)。
我可以用 na.action 排除那些 NA 值,但我更想知道函数为什么读取缺失值 - 以准确了解我的数据发生了什么。
【问题讨论】:
-
您能否提供数据和/或代码,为我们提供reproducible example ?否则很难回答这个问题......
-
@BenBolker 已编辑,谢谢
-
这在我看来像是一个错字/thinko。你能解释一下
na.exclude(day)应该做什么吗?我通常会通过将day添加到数据框来做到这一点,然后不使用attach(),而是在data参数中使用组合数据框-包括day- .. . ?? -
另外,在您提供的数据集中,
day的值只有 8 个,所有其他变量的值只有 10 个,所以我收到“可变长度不同”错误... -
这是一个示例矩阵,它们不是我使用的数据。 day 是 dt 矩阵的一部分,有 10 个值,包括我编辑的 NA。
标签: r missing-data error-code nlme