我正在开发一个看起来如下的数据集:
191
282 A
202
210 B
我想用字符替换第二列的空单元格,比如'N'。我怎样才能在R中有效地做到这一点?
欣赏它。
答案 0 :(得分:13)
示例数据框:
dat <- read.table(text = "
191 ''
282 A
202 ''
210 B")
您可以使用sub
将空字符串替换为"N"
:
dat$V2 <- sub("^$", "N", dat$V2)
# V1 V2
# 1 191 N
# 2 282 A
# 3 202 N
# 4 210 B
答案 1 :(得分:7)
另一种方式:
假设与wibeasley的数据结构相同:
ds <- data.frame(ID=c(191, 282, 202, 210), Group=c("", "A", "", "B"), stringsAsFactors=FALSE)
你可以写:
ds$Group[ds$Group==""]<-"N"
答案 2 :(得分:2)
如果您的data.frame是这样的。
ds <- data.frame(ID=c(191, 282, 202, 210), Group=c("", "A", "", "B"), stringsAsFactors=FALSE)
您可以检查每个元素的长度,如果长度为零,则将其替换为“N”。
ds$Group <- ifelse(nchar(ds$Group)==0, "N", ds$Group)
答案 3 :(得分:0)
DataFrame$FeatureName[which(DataFrame$FeatureName == "")] <- "N"