r - 如何解决'' aregImpute 错误:'column_name' 是常量''
问题描述
我想删除我的数据框中的一些条目,并通过 aregImpute 函数使用剩余信息来估算它们。但是,当我在某些列中随机删除 25% 的数据时,某些列只剩下一个值(即它们每个都等于一个常数 n)。然后我收到以下错误:
Error in aregImpute(fmla, data = df_pmm_imp, n.impute = 5, nk = 0) :
X01154H.exp is constant
这是一个可重现的示例:
df = data.frame(replicate(10,sample(0:100,1000,rep=TRUE)))
df[,10]= 0
smp_size = floor(0.25 * nrow(df))
set.seed(123)
missing_ind = sample(seq_len(nrow(df)), size = smp_size)
df_pmm_imp[missing_ind,c(6:10)] = NA
fmla = as.formula(paste(" ~ ", paste(names(df), collapse=" +")))
impute_arg = aregImpute(fmla , data = df, n.impute=5, nk=0)
# Error in aregImpute(fmla, data = df, n.impute = 5, nk = 0) :
X10 is constant
有没有办法解决这个问题?我了解常量列不能提供太多信息,因此可能会导致问题。但是,我认为它不应该阻止整个估算。例如,我想到的一个更好的做法是将该常量值分配给列中所有缺失的变量。
提前致谢。
解决方案
推荐阅读
- java - 获取连接方法错误
- javascript - 返回值为空,之后填充
- vue.js - 将验证作为道具传递给输入组件时的VueJS vee-validate问题
- c# - c# linq to xml,通过它的属性查找嵌套元素
- sql-server-2016 - SQL如何仅从MIN值中减去
- javascript - 如何从 innerHTML / textContent javascript 获取日期
- azure - 每月前 5 GB 的 Azure 出站带宽是否免费?
- azure-service-fabric - 限制对我的 ServiceFabric 集群的访问,只允许一个 IP(API 管理)
- node.js - 如何使用 Typescript 在 Node/Express 中锁定代码的关键部分
- android - 对齐 ConstraintLayout 上的按钮