我的目标是在R中创建一个wordcloud,但我正在使用嵌套的JSON数据(这也恰好是令人难以置信的混乱)。
有一个很好的解释here关于如何创建短语而不是单数词的单词云。我也知道reshape2中的melt()可以在整个列中创建新行。 R中有没有办法在嵌套子串上执行类似熔体的函数?
示例:
N Group String
1 A c("a", "b", c")
2 A character(0)
3 B a
4 B c("b", d")
5 B d
......应该成为:
N Group String
1 A a
2 A b
3 A c
4 A character(0)
5 B a
6 B b
7 B d
8 B d
...每个后续子字符串返回到下一行。在我的实际数据中,模式c(“x,y”)是一致的,但子串变化太大,无法知道先验。
如果没有好办法做到这一点,太糟糕了......只是想我会问专家!
答案 0 :(得分:1)
您可以使用separate_rows
包中的tidyr
:
library(tidyverse)
data %>%
separate_rows(listcites, sep = ",") %>% # split on commas
dmap_at("listcites", ~ gsub("^c\\(\"|\")$|\"", "", .x)) # clean up the quotations and parens