2014-01-20 309 views
7

我工作的一個數據集,看起來如下替換:空白單元格與性格

191 
282 A 

202 
210 B 

我想在一個字符的第二列,以取代那些空白單元格,說「N」。我如何在R中有效地做到這一點?

欣賞它。

回答

11

的示例數據幀:

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 
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) 
7

另一種方式:

假設相同的數據結構wibeasley已經把:

ds <- data.frame(ID=c(191, 282, 202, 210), Group=c("", "A", "", "B"), stringsAsFactors=FALSE) 

,你可以這樣寫:

ds$Group[ds$Group==""]<-"N" 
0
DataFrame$FeatureName[which(DataFrame$FeatureName == "")] <- "N"