У меня есть кадр данных, где один из столбцов - это список. Я хотел бы, чтобы бросить его в целый кадр данных:преобразовать кадр данных с столбцом списка типов в плоский фрейм данных
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
>
И хочу сделать еще dataframe для удобства просмотра и дальнейшей обработки, такие как:
> 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 значение
Также [Разделить строки с разделителями в столбце и вставить как новые строки] (http://stackoverflow.com/questions/1 5347282/split-delimited-strings-in-a-column-and-insert-as-new-rows) –