목록 목록을 데이터 프레임으로 변환하는 방법-동일하지 않은 목록

Remko Duursma

각 요소가 명명 된 목록 인 목록이 있지만 요소가 모든 곳에서 동일하지는 않습니다. 여기여기 에서 목록 목록을 데이터 프레임으로 변환하는 방법에 대한 솔루션을 읽었 지만 목록이 동일하지 않으면 작동하지 않습니다.

예-혼합 유형도 있지만 솔루션이 모든 것을 문자로 강제하면 괜찮습니다.

lisnotOK <- list(list(a=1, b=2, c="hi"), list(b=2, c="hello", d="nope"))

결과는 rbind.fillplyr 또는 dplyr 과 같이 목록으로 열을 채울 수없는 NA rbind_all를 가져야합니다.

lisOK <- list(list(a=1, b=2, c="hi"), list(a=3, b=5, c="bye"))

# One of many solutions
do.call(rbind.data.frame, lisOK)

# gives
   a b   c
2  1 2  hi
21 3 5 bye

사용하는 모든 솔루션 rbind, 또는 시도가 만들 수 lisnotOK위의 링크 된 게시물에있는 예는 없다 일을 반면 내가 사용하려고하는 경우에도 매트릭스로는, 실패 rbind_all또는 rbind.fill.

한 가지 해결책은 연속적인 각 목록이 데이터 프레임으로 변경되고 데이터 프레임 rbind_all에 바인딩하는 데 사용하는 추악한 for 루프 입니다.

누구든지 효율적인 솔루션을 알고 있습니까?

아룬

data.frame(.)바인딩하기 전에 목록의 각 요소에서 사용 하는 모든 함수 는 매우 비효율적입니다 (불필요한 것은 말할 것도 없습니다). 여기서 얻을 수있는 data.table's rbindlist(v1.9.3에서)를 사용하는 또 다른 방법 있습니다 .

require(data.table) ## 1.9.3
rbindlist(lisnotOK, fill=TRUE)
#     a b     c    d
# 1:  1 2    hi   NA
# 2: NA 2 hello nope

목록 목록 (이 질문에서와 같이), data.frames 및 data.tables에서 작동합니다.

이것이 아니라면 Ananda의 list2mat기능으로 갈 것입니다 (당신의 유형이 모두 동일하다면).


Ananda의 L2데이터 에 대한 벤치 마크 :

fun1 <- function(inList) ldply(inList, as.data.frame)
fun2 <- function(inList) list2mat(inList)
fun3 <- function(inList) rbindlist(inList, fill=TRUE)
fun4 <- function(inList) rbind_all(lapply(inList, as.data.frame))

microbenchmark(fun1(L2), fun2(L2), fun3(L2), fun4(L2), times = 10)
# Unit: milliseconds
#      expr         min          lq      median          uq         max neval
#  fun1(L2) 1927.857847 2161.432665 2221.999940 2276.241366 2366.649614    10
#  fun2(L2)   12.039652   12.167613   12.361629   12.483751   16.040885    10
#  fun3(L2)    1.225929    1.374395    1.473621    1.510876    1.858597    10
#  fun4(L2) 1435.153576 1457.053482 1492.334965 1548.547706 1630.443430    10

참고 : as.data.frame(.)대신 사용 했습니다 data.frame(.)(이전이 약간 더 빠름).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

R 데이터 프레임을 목록 목록으로 변환하는 방법은 무엇입니까?

분류에서Dev

목록을 데이터 프레임으로 변환하는 방법 Python

분류에서Dev

Spark R 데이터 프레임을 R 목록으로 변환하는 방법

분류에서Dev

R에서 목록을 데이터 프레임으로 변환하는 방법

분류에서Dev

배열 목록을 Spark 데이터 프레임으로 변환하는 방법

분류에서Dev

NULL 값이 포함 된 목록 목록을 데이터 프레임으로 변환하는 방법

분류에서Dev

이 목록을 데이터 프레임으로 변환하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임을 r의 목록으로 변환하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임을 각 열의 사전 목록으로 변환하는 가장 좋은 방법

분류에서Dev

html 목록을 r의 데이터 프레임으로 변환하는 방법은 무엇입니까?

분류에서Dev

UNIX 타임 스탬프 목록을 Pandas 데이터 프레임의 datetime 개체 목록으로 변환하는 방법은 무엇입니까?

분류에서Dev

여러 목록의 목록을 구문 분석하고 R에서 데이터 프레임으로 변환하는 방법은 무엇입니까?

분류에서Dev

목록 목록을 데이터 프레임으로 변환하고 목록의 첫 번째 요소를 색인으로 만드는 방법

분류에서Dev

플랫 항목 / 목록을 Pandas 데이터 프레임으로 변환하는 방법

분류에서Dev

데이터 프레임에 동일하지 않은 목록 목록

분류에서Dev

데이터 프레임 열 목록 값을 요소로 변환하는 방법

분류에서Dev

목록을 데이터 프레임 매트릭스로 변환하는 방법

분류에서Dev

일부 열 값이 누락 된 데이터 프레임으로 목록을 변환하는 더 빠른 방법

분류에서Dev

길이가 다른 벡터 목록을 데이터 프레임으로 변환하는 방법

분류에서Dev

동물원 개체 목록을 데이터 프레임으로 변환하는 방법

분류에서Dev

Dict로 데이터 프레임으로 변환하는 목록의 Python 목록

분류에서Dev

.txt 파일의 문자열 목록을 데이터 프레임으로 변환하는 방법

분류에서Dev

목록 목록을 인덱스가있는 데이터 프레임의 열로 변환하는 방법은 무엇입니까?

분류에서Dev

배열로 저장된 데이터 프레임 값을 목록으로 변환하는 방법

분류에서Dev

목록의 값으로 데이터 프레임을 정렬하는 방법

분류에서Dev

값 범위가있는 목록을 가져 와서 데이터 프레임으로 변환하는 방법

분류에서Dev

키를 목록으로 바꾸지 않고 2 열 데이터 프레임을 사전으로 변환하는 방법

분류에서Dev

다중 헤더 팬더 데이터 프레임을 중첩 사전 목록으로 변환하는 방법

분류에서Dev

Pandas 데이터 프레임을 여러 NamedTuple 목록으로 변환하는 방법

Related 관련 기사

  1. 1

    R 데이터 프레임을 목록 목록으로 변환하는 방법은 무엇입니까?

  2. 2

    목록을 데이터 프레임으로 변환하는 방법 Python

  3. 3

    Spark R 데이터 프레임을 R 목록으로 변환하는 방법

  4. 4

    R에서 목록을 데이터 프레임으로 변환하는 방법

  5. 5

    배열 목록을 Spark 데이터 프레임으로 변환하는 방법

  6. 6

    NULL 값이 포함 된 목록 목록을 데이터 프레임으로 변환하는 방법

  7. 7

    이 목록을 데이터 프레임으로 변환하는 방법은 무엇입니까?

  8. 8

    데이터 프레임을 r의 목록으로 변환하는 방법은 무엇입니까?

  9. 9

    Pandas 데이터 프레임을 각 열의 사전 목록으로 변환하는 가장 좋은 방법

  10. 10

    html 목록을 r의 데이터 프레임으로 변환하는 방법은 무엇입니까?

  11. 11

    UNIX 타임 스탬프 목록을 Pandas 데이터 프레임의 datetime 개체 목록으로 변환하는 방법은 무엇입니까?

  12. 12

    여러 목록의 목록을 구문 분석하고 R에서 데이터 프레임으로 변환하는 방법은 무엇입니까?

  13. 13

    목록 목록을 데이터 프레임으로 변환하고 목록의 첫 번째 요소를 색인으로 만드는 방법

  14. 14

    플랫 항목 / 목록을 Pandas 데이터 프레임으로 변환하는 방법

  15. 15

    데이터 프레임에 동일하지 않은 목록 목록

  16. 16

    데이터 프레임 열 목록 값을 요소로 변환하는 방법

  17. 17

    목록을 데이터 프레임 매트릭스로 변환하는 방법

  18. 18

    일부 열 값이 누락 된 데이터 프레임으로 목록을 변환하는 더 빠른 방법

  19. 19

    길이가 다른 벡터 목록을 데이터 프레임으로 변환하는 방법

  20. 20

    동물원 개체 목록을 데이터 프레임으로 변환하는 방법

  21. 21

    Dict로 데이터 프레임으로 변환하는 목록의 Python 목록

  22. 22

    .txt 파일의 문자열 목록을 데이터 프레임으로 변환하는 방법

  23. 23

    목록 목록을 인덱스가있는 데이터 프레임의 열로 변환하는 방법은 무엇입니까?

  24. 24

    배열로 저장된 데이터 프레임 값을 목록으로 변환하는 방법

  25. 25

    목록의 값으로 데이터 프레임을 정렬하는 방법

  26. 26

    값 범위가있는 목록을 가져 와서 데이터 프레임으로 변환하는 방법

  27. 27

    키를 목록으로 바꾸지 않고 2 열 데이터 프레임을 사전으로 변환하는 방법

  28. 28

    다중 헤더 팬더 데이터 프레임을 중첩 사전 목록으로 변환하는 방법

  29. 29

    Pandas 데이터 프레임을 여러 NamedTuple 목록으로 변환하는 방법

뜨겁다태그

보관