改变所有因子NA';数据集R中的s

改变所有因子NA';数据集R中的s,r,dataset,na,factors,R,Dataset,Na,Factors,我有一个数据集,我想用于在R studio中构建决策树。我有相当多的因素是空的。我想把数据集中的所有空因子都改为“无数据”,我有100多个这样的因子,所以我不想一个接一个地去做,我宁愿能一次改变所有的因子 数据示例(请注意,这些都是系数,我知道当输入R时,它们是数字,但我不知道如何在从csv读取数据时以复制方式显示系数): 你可以试试这个: df[is.na(df)] <- "NoData" df[is.na(df)]当我们有factor列并且想要用一个新值替换其中一个值时,可以再次调用

我有一个数据集,我想用于在R studio中构建决策树。我有相当多的因素是空的。我想把数据集中的所有空因子都改为“无数据”,我有100多个这样的因子,所以我不想一个接一个地去做,我宁愿能一次改变所有的因子

数据示例(请注意,这些都是系数,我知道当输入R时,它们是数字,但我不知道如何在从csv读取数据时以复制方式显示系数):

你可以试试这个:

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

df[is.na(df)]当我们有
factor
列并且想要用一个新值替换其中一个值时,可以再次调用
factor
,或者在进行更改之前将新值添加为factor的
级别之一。假设我们必须为第一列以外的变量重新编码,使用
lappy
循环遍历列,添加“无数据”作为
级别之一,然后
用“无数据”替换NA元素,最后将
列表
输出分配给感兴趣的列

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

df[-1]根据您的示例,变量都是数字<代码>替换(df,is.na(df),“无数据”)
这不会打乱您的决策树计算吗?这里有一点是@PoGibas的可能重复。当然,您应该只使用阶乘数据,而不使用数值。@akrun我不知道如何显示一个示例,其中数据是阶乘?当我通过CSVI阅读数据时,我尝试了这些因素,但它们都没有改变
df[-1] <- lapply(df[-1], function(x) {
        levels(x) <- c(levels(x), "No Data")
         replace(x, is.na(x), "No Data")
          })