我有一个列要拆分,类似于A,每个观察(歌曲)有不同数量的元素(流派)。我可以在不指定R中的目标列的情况下拆分列吗?
| 色谱柱A|
| - ------|
| "['hip hop','pop','pop rap','r & b','南方hip hop','trap','trap soul']"|
| ['流行舞蹈','女子组合','流行音乐','后青少年流行音乐','才艺表演','英国流行音乐']|
我也想得到这样的结果
| 类型1|类型2|流派...|体裁6|体裁7|
| - ------| - ------| - ------| - ------| - ------|
| 嘻哈|流行音乐|- -|陷阱|新灵魂|
| 流行舞曲|女子团体|- -|英国流行音乐|不适用|
新列的数目等于一首歌可以具有的最大类型数目(例如,如果具有更多类型的歌曲具有十个类型,则我应该具有十列)。
另一种选择是为列中找到的每个流派创建一个虚拟列
| 嘻哈|波普|流行说唱|节奏与蓝调|- -|
| - ------| - ------| - ------| - ------| - ------|
| 1个|1个|1个|1个|- -|
| 无|1个|无|无|- -|
我尝试在R中使用separate,但出现错误
2条答案
按热度按时间jfewjypa1#
在
base R
中,我们可以在删除[
、]
和引号('
,"
)后使用read.csv
第二个数据集可以使用
mtabulate
在上面的输出中创建数据
nlejzf6q2#
没有真正知道你想要的输出,但这里有一个想法: