Thi*_*doy 3 string split r tidyverse
想象一下下表
| 埃莱姆 | 频率 |
|---|---|
| A | 14 |
| 甲、乙 | 7 |
| 甲、丙 | 8 |
| 甲、乙、丙 | 1 |
| 乙、丙 | 3 |
| 乙 | 11 |
| C | 6 |
如何将其转换为表格,在表格中隔离每个元素并对频率求和。
在这种情况下将是
| 学期 | 频率 |
|---|---|
| A | 30 |
| 乙 | 22 |
| C | 18 |
我想写一个巨大的 case_when (我有超过三个元素)来搜索整个表并对它们存在的行的频率求和,但这太多了
我想像这样打破界限:
| 埃莱姆 | 频率 |
|---|---|
| A | 14 |
| A | 7 |
| 乙 | 7 |
| A | 8 |
| C | 8 |
| A | 1 |
| 乙 | 1 |
| C | 1 |
| 乙 | 3 |
| C | 3 |
| 乙 | 11 |
| C | 6 |
然后将其分组为频率总和,但我不知道如何
你可以尝试separate_longer_delim然后summarise
library(dplyr)
library(tidyr)
df %>%
separate_longer_delim(Elem, ", ") %>%
summarise(Freq = sum(Freq), .by = Elem)
Run Code Online (Sandbox Code Playgroud)
你将获得
Elem Freq
1 A 30
2 B 22
3 C 18
Run Code Online (Sandbox Code Playgroud)