更改数据集R

时间:2018-02-06 14:59:51

标签: r dataset na factors

我有一个数据集,我想用它来构建R studio中的决策树。我有很多因素是空的。我想将数据集中所有空的因素更改为"没有数据",我有超过100个,所以我不想一个接一个地做,我宁愿能够立刻改变所有这些。

数据示例(请注意,这些都是因素,我知道当它被放入R时它们是数字但我不知道如何在我阅读时以复制的方式显示因素来自csv的数据:

Outcome=c(1,1,1,0,0,0)
VarA=c(1,1,NA,0,0,NA)
VarB=c(0,NA,1,1,NA,0)
VarC=c(0,NA,1,1,NA,0)
VarD=c(0,1,NA,0,0,0)
VarE=c(0,NA,1,1,NA,NA)
VarF=c(NA,NA,0,1,0,0)
VarG=c(0,NA,1,1,NA,0)
df=as.data.frame(cbind(Outcome, VarA, VarB,VarC,VarD,VarE,VarF,VarG)) 

2 个答案:

答案 0 :(得分:2)

如果我们有factor列并希望使用新值替换其中一个值,请再次调用factor或将新值添加为levels之一在做出改变之前的因素。假设我们必须重新编码第一列以外的变量,使用lapply遍历列,将“无数据”添加为levels之一,然后添加replace NA元素“无数据”,最后将list输出分配给感兴趣的列

df[-1] <- lapply(df[-1], function(x) {
        levels(x) <- c(levels(x), "No Data")
         replace(x, is.na(x), "No Data")
          }) 

答案 1 :(得分:0)

你可以试试这个:

df[is.na(df)] <- "NoData"