鼠标r包中执行随机森林时出错

乔恩

这只是示例数据:

# generation of correlated data   
matrixCR <- matrix(NA, nrow = 100, ncol = 100)
diag(matrixCR) <- 1
matrixCR[upper.tri (matrixCR, diag = FALSE)] <- 0.5
matrixCR[lower.tri (matrixCR, diag = FALSE)] <- 0.5
matrixCR[1:10,1:10]
L = chol(matrixCR)# Cholesky decomposition
nvars = dim(L)[1]
nobs = 200
set.seed(123)
rM = t(L) %*% matrix(rnorm(nvars*nobs), nrow=nvars, ncol=nobs)
rM1 <- t(rM)
rownames(rM1) <- paste("S", 1:200, sep = "") 
colnames(rM1) <- paste("M", 1:100, sep = "")
# introducing missing value to the dataset 
N <- 2000*0.05 # 5% random missing values 
inds <- round ( runif(N, 1, length(rM1)) )
rM1[inds] <- NA


# using random forest implemented in mice package 
require(mice)
out.imp <- mice(rM1, m = 5, method ="rf")
imp.data <- complete(out.imp)

我收到以下错误:

 iter imp variable
  1   1  M1  M2Error in apply(forest, MARGIN = 1, FUN = function(s) sample(unlist(s),  : 
  dim(X) must have a positive length

我不确定是什么引起了这个问题?

eipi10

正如我在评论中提到的那样,当将method设置为randomforest(rf)时,该mice函数每当到达只有一个NA的列时都会抛出错误,但在任何其他数量的NA值下都可以正常运行

我检查了软件包作者,这似乎是一个错误。在修复之前,您可以为那些具有单个NA值的列选择其他插补方法例如:

# Count number of NA in each column
NAcount = apply(rM1, 2, function(x) sum(is.na(x)))

# Create a vector giving the imputation method to use for each column. 
# Set it to "rf" unless that column has exactly one NA value.
method = rep("rf", ncol(rM1))
method[which(NAcount==1)] = "norm"

# Run the imputation with the new "method" selections
out.imp <- mice(rM1, m = 5, method = method)

我意识到,为了保持一致性,您可能希望对所有列使用相同的插补方法,但是如果您设置为使用randomforest方法,则以上内容为您提供了一个选择。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R:在随机森林中调整mtry时出错(回归)

来自分类Dev

插补期间使用随机森林(MICE程序包)时出错

来自分类Dev

执行随机森林时的最小观察次数

来自分类Dev

执行随机森林时的最小观察次数

来自分类Dev

插入符号包中的“随机森林”错误

来自分类Dev

插入符号包中的“随机森林”错误

来自分类Dev

在 Macbook 中并行执行随机森林的小速度增益(使用 R,插入符号)

来自分类Dev

R中的多栅格随机森林

来自分类Dev

R中随机森林图的图例

来自分类Dev

在 R 中打开 csv 文件随机森林

来自分类Dev

R内存错误中的随机森林

来自分类Dev

在 AWS 中安装 R 包时出错

来自分类Dev

调整Caret包中随机森林的两个参数

来自分类Dev

在R中执行if语句时出错

来自分类Dev

R 中的 tryCatch 在出错时执行

来自分类Dev

Python中的随机森林

来自分类Dev

Python中的随机森林

来自分类Dev

Tidymodel包:R中的常规线性模型(glm)和决策树(袋装树,增强树和随机森林)模型

来自分类Dev

对象中缺少值-R中的随机森林混淆矩阵

来自分类Dev

执行程序包时出错

来自分类Dev

获取R中随机森林的准确性

来自分类Dev

获得R中连续变量的随机森林预测精度

来自分类Dev

R中随机森林时间序列的变量重要性

来自分类Dev

如何更改R中随机森林的分割条件?

来自分类Dev

R中的随机森林-适用于测试/验证集

来自分类Dev

如何在R的随机森林的插入符中设置ppv?

来自分类Dev

从 r 中的拟合随机森林计算精确召回的库

来自分类Dev

在R中安装软件包时出错

来自分类Dev

R-使用speedglm包中的summary()时出错