2017-02-22 1 views
-1

열이 목록 인 데이터 프레임이 있습니다.목록 유형의 열이있는 데이터 프레임을 일반 데이터 프레임으로 변환

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" 

을 시도하지만

+0

또한 [열의 구분 된 문자열을 분할하여 새 행으로 삽입] (http://stackoverflow.com/questions/1 5347282/split-delimited-strings-in-a-column-and-new-rows 행) –

답변

0

우리는이 작업을 수행 할 수와 올바른 COL1 값으로 각 COL2 값을 링크로 진행하는 방법을 잘 모르겠습니다있다 base R

stack(setNames(strsplit(as.character(df$col2), ","), df$col1)) 
+1

왜 속이 목표에 제공하지 않습니까? –

+1

또는 귀하의 유사한 대답 (http://stackoverflow.com/a/37130811/3521006)으로 연결되는 링크를 추가하십시오. –

관련 문제