R 在运行随机林时保留一列NAs

R 在运行随机林时保留一列NAs,r,na,R,Na,如果标题写得不好,很抱歉,但让我先解释一下我的问题,我对R不太熟悉 我正在运行一个脚本,该脚本要求randomForest训练一组数据(以下两个)。但是,此数据集有一列NAs(Call_vs_Noise)。我需要保留此列,但我无法解决我认为NAs正在创建的错误。注意:R脚本本身很长,我没有发布全部内容 导致我出现问题的代码部分: my.perf = nfold.xval(events[events$Random.Percent <= i, ], fold=10, anno

如果标题写得不好,很抱歉,但让我先解释一下我的问题,我对R不太熟悉

我正在运行一个脚本,该脚本要求randomForest训练一组数据(以下两个)。但是,此数据集有一列NAs(Call_vs_Noise)。我需要保留此列,但我无法解决我认为NAs正在创建的错误。注意:R脚本本身很长,我没有发布全部内容

导致我出现问题的代码部分:

    my.perf = nfold.xval(events[events$Random.Percent <= i, ], 
    fold=10, annotation=paste(i, "% Bootstrap Sample", sep=""))[[1]]
perf[[i]] = rejigger.perf(my.perf)
op.2 = calculate.operating.parameters(perf[[i]], method="confidence.range")$op
op.3 = calculate.operating.parameters(perf[[i]], method="frequency")$op
op[i] = ifelse(op.2 < op.3, op.2, op.3)
bs.noise = dim(events[events$Random.Percent <= i & events$Call_vs_Noise == "Noise",])[1]
bs.call = dim(events[events$Random.Percent <= i & events$Call_vs_Noise == "Call",])[1]
print(paste("Bootstrap sample:", bs.noise, "noise,", bs.call, "call."))

splits = splitdf(events[events$Random.Percent <= i, ], weight=7/10)
rf = randomForest(Call_vs_Noise ~ ., data = splits$trainset[, c(seewave.measures, "Call_vs_Noise", "Detector")], 
                  sampsize = 0.99 * nrow(splits$trainset))
我收到的错误是:

Error in randomForest.default(m, y, ...) : data (x) has 0 rows
In addition: Warning message:
In randomForest.default(m, y, ...) :
The response has five or fewer unique values.  Are you sure you want to do regression?

根据我在网上收集的信息,我的数据中的NAs似乎是导致此错误的原因。但是,如果通过删除行来删除NAs,则实际上会删除所有数据。有办法解决这个问题吗

为什么需要保留该列而不是在末尾将其重新添加?编码需要使用该列,但是它不能接受该列中的NAs(请参见:bs.noise=dim(事件[events$Random.Percent您的模型是
Call\u vs\u Noise~。
但是声明
Call\u vs\u Noise
是一整列
NA
s。由于
NA
表示缺少信息,因此您没有任何信息,那么
randomForest
可以从中学习什么?如果您至少不知道一些va,则无法为响应构建模型当使用监督建模方法时,响应的lues
Error in randomForest.default(m, y, ...) : data (x) has 0 rows
In addition: Warning message:
In randomForest.default(m, y, ...) :
The response has five or fewer unique values.  Are you sure you want to do regression?