问题描述
在我的数据集中,我有一栏需要将空格替换为“否”,我该怎么做?
该列是一个字符变量,只有两个值,是和否。
data<- as.data.frame(Upper_GI_2ww)
data$`Direct to Test?` = ifelse(nchar(data$`Direct to Test?`) == "NA","No",data$`Direct to Test? )
输出:
head(data$`Direct to Test?`)
[1] "Yes" "Yes" "Yes" NA "Yes" "Yes"
灵魂:
现在工作正常,这是我所做的:
首先,我将char转换为factor。
data$`Direct to Test?`[is.na(data$`Direct to Test?`)] <-"No"
head(data$`Direct to Test?`)
Yes Yes Yes No Yes Yes
Levels: No Yes
现在工作正常。
解决方法
您可以使用nchar来计算字符数。
df$var = ifelse(nchar(df$var) == 0,"No",df$var)
如果您只需要替换“”,这也是有效的:
df$var = ifelse(df$var == "",df$var)
,
这是使用sub()
函数替换空字符串的一种方法
#create data
data <- c("","yes","","no")
#make into data.frame
data <- as.data.frame(data)
#replacing empty strings with "No"
sub("^$",data$data)