首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Na.fail.default中的错误:对象中缺少值,但没有丢失值

Na.fail.default中的错误:对象中缺少值,但没有丢失值
EN

Stack Overflow用户
提问于 2016-07-07 16:12:07
回答 4查看 122.4K关注 0票数 30

我试图使用以下数据运行lme模型:

代码语言:javascript
运行
复制
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中的错误(cor_partner= c(1L,1L,2L,1L,1L,1L),:对象中缺少的值

我知道论坛上也有类似的问题。然而,就我而言:

  • cor_partner没有缺失的值;
  • 整个对象被编码为一个因子(至少根据显示的内容)。

我可以用na.action排除那些NA值,但我更希望知道函数为什么要读取缺少的值--以准确了解数据发生了什么。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-07-07 18:27:03

tl;博士--你必须同时在整个数据帧上使用na.exclude() (或其他什么),这样剩下的观察就可以在变量之间保持匹配。

代码语言:javascript
运行
复制
set.seed(101)
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))
## use data.frame() -- *DON'T* cbind() first
dt=data.frame(tot_nochc,cor_partner,agecu,day)
## DON'T attach(dt) ...

现在试着:

代码语言:javascript
运行
复制
library(nlme)
corpart.lme.1=lme(tot_nochc~cor_partner+agecu+cor_partner *agecu, 
              random = ~cor_partner+agecu+cor_partner *agecu |day, 
              data=dt,
              na.action=na.exclude)

我们得到了收敛错误和警告,但我认为这是因为我们使用的是一个微小的合成数据集,其中没有足够的信息,而不是因为代码的任何固有问题。

票数 35
EN

Stack Overflow用户

发布于 2018-07-08 08:14:04

randomForest包有一个“按中位数/模式计算缺失值”的na.roughfix函数。

您可以按以下方式使用它

代码语言:javascript
运行
复制
fit_rf<-randomForest(store~.,
        data=store_train,
        importance=TRUE,
        prOximity=TRUE,
        na.action=na.roughfix)
票数 16
EN

Stack Overflow用户

发布于 2019-02-22 15:13:56

如果您的数据包含Na或缺失值,您可以使用它传递数据,与在数据集中传递的数据完全一样。

rf<-randomForest(target~.,data=train, na.action = na.roughfix)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38250440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档