我有以下示例数据框:
> df <- data.frame(v=c("a", "a", "b", "b", "c", "d", "d"))
> df
v
1 a
2 a
3 b
4 b
5 c
6 d
7 d
Run Code Online (Sandbox Code Playgroud)
我想根据一些任意映射将这些值分类在单独的列中。例如:
所以之后,我将得到以下内容:
v cat
1 a x
2 a x
3 b x
4 b x
5 c y
6 d y
7 d y
Run Code Online (Sandbox Code Playgroud)
谢谢
这是一个选择:
使用映射创建命名向量:
x <- c(a = "x", b = "x", c = "y", d = "y")
Run Code Online (Sandbox Code Playgroud)
然后使用命名向量添加新列:
df$cat <- x[df$v]
df
# v cat
#1 a x
#2 a x
#3 b x
#4 b x
#5 c y
#6 d y
#7 d y
Run Code Online (Sandbox Code Playgroud)