1 개 또는 2 개의 열과 n 개의 행이있는 중첩 데이터 프레임의 열이있는 데이터 프레임이 있습니다.다양한 수의 요소로 중첩 된 데이터 프레임 변환
'data.frame': 3 obs. of 2 variables:
$ vector:List of 3
..$ : chr "p1"
..$ : chr "p2"
..$ : chr "p3"
$ lists :List of 3
..$ :'data.frame': 2 obs. of 2 variables:
.. ..$ n1: Factor w/ 2 levels "a","b": 1 2
.. ..$ n2: Factor w/ 2 levels "1","2": 1 2
..$ :'data.frame': 1 obs. of 1 variable:
.. ..$ n1: Factor w/ 1 level "d": 1
..$ :'data.frame': 1 obs. of 2 variables:
.. ..$ n1: Factor w/ 1 level "e": 1
.. ..$ n2: Factor w/ 1 level "3": 1
안양은 다음과 같이 다시 할 수 있습니다 : 그것은 아래의 샘플에서 df라고 과 같은
v <- c("p1", "p2", "p3")
l <- list(data.frame(n1 = c("a", "b"), n2 = c("1", "2")), data.frame(n1 = "d"), data.frame(n1 = "e", n2 = "3"))
df <- as.data.frame(cbind(v, l))
내가 그렇게 보이는 데이터 프레임으로 변환하고 싶습니다 :
[v] [n1] [n2]
p1 a 1
p1 b 2
p2 d NA
p3 e 3
- N1과 N2는 별도의 컬럼에 행 데이터 프레임 i가 n 개의 행을 갖는 경우
- 행의 벡터 요소 i는 N1 또는 N2에는 콘텐츠가없는 경우에, NA는
I가 있어야 n 회
unnest(df)
Error: All nested columns must have the same number of elements.
사람이 어떻게 원하는 형식으로 dataframe을 변환하는 더 나은 아이디어를 가지고 있습니까?
잘 작동합니다. 이것에 대한 또 하나의 질문 : 반복되어야하는 내용을 가진 열 v가 둘 이상인 경우이 함수를 사용하는 방법은 무엇입니까? – PMH
아마도'setDT (df); rbindlist (df $ l, fill = T, id = 'row') [, c (.SD, df [row, -'l '])]' – eddi