【发布时间】:2023-03-21 23:07:01
【问题描述】:
我想在 R 中添加一个新列,将我的子组汇总到组中。
这是我的例子:
id = c(1,2,2,3,4,4,4,5,5,5,6,6,6)
subgroup = c("lightred","lightblue","darkblue","lightred","darkred","darkred","lightblue","darkgreen","darkgreen","lightgreen","darkred","darkblue","lightgreen")
data = data.frame(cbind(id,subgroup))
> data
id subgroup
1 1 lightred
2 2 lightblue
3 2 darkblue
4 3 lightred
5 4 darkred
6 4 darkred
7 4 lightblue
8 5 darkgreen
9 5 darkgreen
10 5 lightgreen
11 6 darkred
12 6 darkblue
13 6 lightgreen
现在我想添加一个新列“颜色”,它将属性分组为 3 组“红色”、“绿色”和“蓝色”,无论它们是浅色还是深色。
最后应该是这样的:
id subgroup colour
1 1 lightred red
2 2 lightblue blue
3 2 darkblue blue
4 3 lightred red
5 4 darkred red
6 4 darkred red
7 4 lightblue blue
8 5 darkgreen green
9 5 darkgreen green
10 5 lightgreen green
11 6 darkred red
12 6 darkblue blue
13 6 lightgreen green
【问题讨论】:
-
如果子组不包含单词 red、blue 或 green,我该怎么办。例如,如果我也想将青色分组为蓝色?
-
然后您可以相应地更新正则表达式以匹配每个组所需的模式。查看我更新的帖子。
标签: r