【发布时间】:2025-11-23 20:35:01
【问题描述】:
我的数据框中有一列如下:
Private
Private
Private
?
Private
我想替换这个“?”与私人。我有一个解决方案如下:
# Only replacing ? with Private
df$var <- ifelse(df$var == " ?", " Private", df$var)
但是,当我在 ifelse 语句之后打印出 df$var 列时,这些值似乎不正确。这就是我得到的:
3
3
3
Private
3
我不知道这里出了什么问题。
【问题讨论】:
-
试试
df$var <- as.character(df$var); df$var <- ifelse(df$var == " ?", " Private", df$var)。变量可能是一个因素。 -
你是对的。谢谢!
-
如果您只想替换“?”使用
df$var[df$var==" ?"] <- "Private"可能更有效。
标签: r