0

我正在尝试操作数据框。数据框包含缺失值(NA),我想将每个 NA 替换为“。” (细绳)。

我怎样才能做到这一点?下面是一个例子:考虑以下数据框

   dataset1
   no      name
    1      John
    2      Paul
    3        NA
    4    Sophie

如何将此数据集更改为:

   dataset1
   no      name
    1      John
    2      Paul
    3         .
    4     Sophie

谢谢,

4

2 回答 2

4

您的数据:

mydf <- read.table(text='no      name
    1      John
    2      Paul
    3        NA
    4    Sophie',header=TRUE,stringsAsFactors=FALSE)

重新编码:

mydf[is.na(mydf)] <- '.'

结果:

> mydf
  no   name
1  1   John
2  2   Paul
3  3      .
4  4 Sophie
于 2013-10-05T20:31:26.627 回答
1

只是一个想法,基于你的最后一个问题。如果您没有将factors 转换为characters,则需要适应新级别"."

for (i in seq(ncol(dataset1))) {
      col <- dataset1[, i]
      if (is.factor(col))
        levels(col) <- c(levels(col), ".")
      col[is.na(col)] <- "."
      dataset1[, i] <- col
  }
于 2013-10-05T20:31:47.227 回答