R语言summary()报错object of type 'closure' is not subsettable的原因

R语言中mice包使用错误解析
本文通过一个具体的示例,详细分析了在R语言中使用mice包进行数据插补时出现的错误及原因。从加载包失败到后续函数调用错误,逐步深入剖析,最终指出问题所在。

代码

> library(mice)
Error in library(mice) : 不存在叫‘mice’这个名字的程辑包
> bad_ind<-accepts[,c("bad_ind")]
> x<-accepts[,c("fico_score","tot_derog","tot_rev_line","rev_util","age_oldest_tr")]
> imp<-mice(x,met="cart",m=1)#该方法只对数值变量进行插补,分类变量的缺失值保留
Error in mice(x, met = "cart", m = 1) : could not find function "mice"
> x_imp<-complete(imp)
Error in complete(imp) : could not find function "complete"
> data<-cbind(bad_ind,x_imp)
Error in cbind(bad_ind, x_imp) : object 'x_imp' not found
> data1<-data
> summary(data1)
Error in object[[i]] : object of type 'closure' is not subsettable
> r=data1$rev_util#以rev_util里的数据进行盖帽处理
Error in data1$rev_util : object of type 'closure' is not subsettable

原因分析

一般出错原因不明时一定要尽量往前倒推,
其实你看,根据这个实例你就会知道,最后summary()一个数据集时给出了
object of type ‘closure’ is not subsettable
错误是不正常的,
往前推就会发现这个错误的源头是第一行:
mice这个包没有提前载入,所以library()是无效的,
最终导致后面的一系列程序都是出错的。
至于summary()为什么会给出那样一个错误信息,这是程序内部设计的问题了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值