我有一个数据框,其中一列是列表。我想将其转换为整个数据框:
df=data.frame(col1=c(LETTERS[1:3]),col2=c('X,Y,Z','W,V','U'))
> df
col1 col2
1 A X,Y,Z
2 B W,V
3 C U
>
并希望制作另一个数据框,以便于查看和进一步处理,例如:
> data.frame(col1=c('A','A','A','B','B','C'),col2=LETTERS[26:21])
col1 col2
1 A Z
2 A Y
3 A X
4 B W
5 B V
6 C U
>
col2中的值数在我的实际数据集中从1到5不等。目前我已经尝试了
library(stringr)
> str_split(df[,2],',')
[[1]]
[1] "X" "Y" "Z"
[[2]]
[1] "W" "V"
[[3]]
[1] "U"
和
> unlist(str_split(df[,2],','))
[1] "X" "Y" "Z" "W" "V" "U"
但我不知道如何继续将每个col2值与其正确的col1值链接
答案 0 :(得分:0)
我们可以使用base R
stack(setNames(strsplit(as.character(df$col2), ","), df$col1))