R:如何轻松地将数据框中的缺失值替换为“。”

时间:2013-10-05 20:28:42

标签: r

我正在尝试操纵数据帧。 数据帧包含缺失值(NA),我想将每个NAs替换为“。”。 (字符串)。

我该怎么做?以下是一个例子: 考虑以下数据框

   dataset1
   no      name
    1      John
    2      Paul
    3        NA
    4    Sophie

如何将此数据集更改为:

   dataset1
   no      name
    1      John
    2      Paul
    3         .
    4     Sophie

谢谢,

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

根据你的上一个问题,只是一个想法。如果您未将factor转换为character,则需要适应新级别"."

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
  }