我数据中的一列是多项选择数据,这些数据涉及适用于每一行的联合国可持续发展目标。列看起来像这样,每行有多个逗号分隔的SDG列表:
SDGs
5,6,7,13,17
7,9,17
3,4,7,11
3,4,6,7,11
4,5,7,14
4,5,6,11,13
3,17
我想将每个SDG的总体发生情况制成表格,并将其与其他列(例如地区,国家/地区)进行交叉制成表格。如何将其解压缩为可用于创建表和交叉表的表单?感谢您的帮助。
答案 0 :(得分:2)
我只包含了数据集的前两行。这是你想要的?如果没有,请共享样本数据集和所需的输出-
library(tidyr)
df <- structure(list(Country = c("A", "B"), SDGs = c(" 5,6,7,13,17",
" 7,9,17")),
.Names = c("Country", "SDGs"), row.names = 1:2, class = "data.frame")
# Country SDGs
# 1 A 5,6,7,13,17
# 2 B 7,9,17
df <- separate_rows(df, SDGs, sep = ",")
# Country SDGs
# 1 A 5
# 2 A 6
# 3 A 7
# 4 A 13
# 5 A 17
# 6 B 7
# 7 B 9
# 8 B 17