【发布时间】:2020-01-20 21:28:51
【问题描述】:
这是我的数据集“调查”,其中包含“代码”作为分类变量。
ID<- seq(1:50)
Codes<- sample(c("Sat1", "Sat2", "A1", "B2", "C2", "D5", "T4"), 50, replace= TRUE)
Survey<- data.frame(Codes)
代码中的等级如下所示:
> levels(Survey$Codes)
[1] "A1" "B2" "C2" "D5" "Sat1" "Sat2" "T4"
我想将 Codes 列中除“Sat1”和“Sat2”之外的所有值替换为新值“Sat3”。换句话说,我希望我在 Codes 中的水平是:
> levels(Survey$Codes)
[1] “Sat1” “Sat2” “Sat3”
我知道这个问题的第一部分代码,即
levels(Survey$Codes)<- c(levels(Survey$Codes), “Sat3”)
但我被困在如何处理其余代码,即如何用“Sat3”替换代码的所有值(“Sat1”和“Sat2”除外)。我正在考虑在这里使用 if-else 语句,但不确定如何为其构建代码。你能帮我解决这个问题吗?谢谢
【问题讨论】:
标签: r if-statement r-factor