我正在尝试操纵数据帧。 数据帧包含缺失值(NA),我想将每个NAs替换为“。”。 (字符串)。
我该怎么做?以下是一个例子: 考虑以下数据框
dataset1
no name
1 John
2 Paul
3 NA
4 Sophie
如何将此数据集更改为:
dataset1
no name
1 John
2 Paul
3 .
4 Sophie
谢谢,
答案 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
}