R语言 我得到的错误对象“重量”没有找到,而它存在于数据框中

iklwldmw  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(98)

我使用R中的SIMPUTE包来输入连续变量。这是我的数据集

'data.frame':   6000 obs. of  11 variables:
 $ age           : chr  "1" "1" "1" "1" ...
 $ GI            : num  5.29 12.52 2.03 NA 31.51 ...
 $ sex           : chr  "2" "1" "1" "1" ...
 $ Weight        : num  1.2 1.2 1.2 1.2 1.2 ...

字符串
我使用以下命令从simpute包来填补“GI”变量使用年龄和性别来创建填补细胞。我有一个重量变量用于“概率”

imp_simpuatation<-impute_rhd(
  data,
  GI~age+sex,
  pool = "univariate",
  prob = Weight
)


但我得到以下错误:错误:对象'权重'未找到当我尝试prob= data$Weight代替,我得到以下错误:

Error in impute_rhd(data, GI ~ age + sex, pool = "univariate", prob = data$Weight,  : 
  length(prob) != nrow(dat) is not TRUE

> length(data$Weight)
[1] 6000
> nrow(data)
[1] 6000
oaxa6hgo

oaxa6hgo1#

我建议使用不同的插补包。simputation包有bug。

正确的用法是data$Weight而不是Weight。但错误是simputation中的一个bug。作者has corrected the error you identified,但没有提交更新到CRAN。然而,代码仍然有bug。使用不同的软件包。

  • CRAN版本= 0.2.8
  • GitHub/Dev version = 0.2.8.2

安装开发版本,你会通过你的错误,但请注意,代码仍然是错误的:

install.packages("devtools")
devtools::install_github("markvanderloo/simputation/pkg")
library(simputation)

# example data per package intro
data(iris)
dat <- iris
dat[1:3,1] <- dat[3:7,2] <- dat[8:10,5] <- NA
dat$wt <- rnorm(n=nrow(dat))

impute_rhd(dat, Species ~ Septal.Length + Sepal.Width + Petal.Length, prob=dat$wt)

字符串
[.data.frame(dat,predictors)中的错误:选择了未定义的列

相关问题