我正在努力建立一个专利网络。我有一个示例数据帧(aa),其中包含ID变量(原点)和字符串字符(目标)。我想将字符串字符拆分为单独的组,然后以长格式将其添加回数据帧,以便它显示为新的数据帧(ab)。我尝试过将strsplit,do.call和reshape函数结合起来尝试了一些事情,但无济于事。感谢任何帮助。
来自
aa<-data.frame(Origin=c(1,2,3),Target=c('a b c','d e','f g a b'))
aa
到
ab<-data.frame(Origin=c(rep(1,3),rep(2,2),rep(3,4)), Target=c('a','b','c','d','e','f','g','a','b'))
ab
答案 0 :(得分:1)
您可以结合使用strsplit
,mutate
和unnest
函数
library(dplyr)
library(tidyr)
aa %>% mutate(Target = strsplit(as.character(Target), " ")) %>% unnest(Target)
# Origin Target
# 1 1 a
# 2 1 b
# 3 1 c
# 4 2 d
# 5 2 e
# 6 3 f
# 7 3 g
# 8 3 a
# 9 3 b