假设我在数据框中有一个变量,它可以取值“a”,“b”,“c”,“d”和“e”。它可能看起来像这样:
V1
c
d
e
e
d
e
a
c
b
b
然而,我知道/怀疑“a”和“b”几乎描述了samt的东西,以及“c”和“d”。因此,我想创建一个新变量,它们具有相同的值,即
V1 V2
c c
d c
e e
e e
d c
e e
a a
c c
b a
b a
我觉得这很容易,但我找不到办法去做!
答案 0 :(得分:2)
我们可以使用
library(car)
df1$V2 <- recode(df1$V1, "'d'='c';'b'='a'")
df1$V2
#[1] "c" "c" "e" "e" "c" "e" "a" "c" "a" "a"
答案 1 :(得分:1)
你有没有理由不能使用:
df$V2 <- df$V1
df$V2[df$V2=="d"] <- "c"
df$V2[df$V2=="b"] <- "a"
答案 2 :(得分:0)
我在前一天发布了一个类似的问题。
我的解决方案是:
l <- c("a","a","c","c","e")
factor(l[V1])
使用dplyr软件包:
library(dplyr)
df %>% mutate(V2 = factor(l[V1]))
请参阅此主题以获得更多答案: