객체 클래스를 잃지 않고 중첩 된 목록 목록 해제

컴포트 이글

변수를 적절한 형식으로 강제 변환하는 것에 관한 이전 게시물을 읽은문제가 unlist()변수의 객체 클래스를 제거하는 것처럼 보이는 : ing 때문이라는 것을 깨달았습니다 .

myList다음 구조의 중첩 된 목록 ( )을 고려하십시오.

> str(myList)
List of 2
 $ lst1:List of 3
  ..$ var1: chr [1:4] "A" "B" "C" "D"
  ..$ var2: num [1:4] 1 2 3 4
  ..$ var3: Date[1:4], format: "1999-01-01" "2000-01-01" "2001-01-01" "2002-01-01"
 $ lst2:List of 3
  ..$ var1: chr [1:4] "Q" "W" "E" "R"
  ..$ var2: num [1:4] 11 22 33 44
  ..$ var3: Date[1:4], format: "1999-01-02" "2000-01-03" "2001-01-04" "2002-01-05"

이는 서로 다른 오브젝트 타입 (포함 character, numericDate최저 레벨에서 참조). 나는 사용하고있다

myNewLst <- lapply(myList, function(x) unlist(x,recursive=FALSE))
result <- do.call("rbind", myNewLst)

결과 매트릭스의 원하는 구조를 얻으려면. 그러나 이것은 다음 character과 같이 모든 변수 대한 강제를 생성합니다 .

> str(result)
 chr [1:2, 1:12] "A" "Q" "B" "W" "C" "E" "D" "R" "1" "11" "2" "22" "3" "33" "4" "44" "10592" "10593" "10957" "10959" "11323" "11326" ...
 - attr(*, "dimnames")=List of 2
  ..$ : chr [1:2] "lst1" "lst2"
  ..$ : chr [1:12] "var11" "var12" "var13" "var14" ...

비슷한 문제에 대한 게시물을 읽은 후 활용하려고 시도했습니다.do.call("c", x)

myNewLst <- lapply(myList, function(x) do.call("c", x))
result <- do.call("rbind", myNewLst)

불행히도 character첫 번째 시도로 모든 변수가 s가됩니다. 그래서 내 질문은 : 내 하위 수준 변수의 객체 클래스를 잃지 않고 중첩 목록을 어떻게 나열 해제합니까? 원하는 결과를 얻을 수있는 대안이 있습니까?

다음에 대한 재현 가능한 코드 myList:

myList <- list(
  "lst1" = list(
    "var1" = c("A","B","C","D"),
    "var2" = c(1,2,3,4),
    "var3" = c(as.Date('1999/01/01'),as.Date('2000/01/01'),as.Date('2001/01/01'),as.Date('2002/01/01'))
  ),
  "lst2" = list(
    "var1" = c("Q","W","E","R"),
    "var2" = c(11,22,33,44),
    "var3" = c(as.Date('1999/01/02'),as.Date('2000/01/03'),as.Date('2001/01/4'),as.Date('2002/01/05'))
  )
)
오 얌부

모든 데이터 프레임을 사용 Reduce()하거나 do.call()결합 할 수 있습니다. 아래 코드가 작동합니다.

      Reduce(rbind,lapply(myList,data.frame,stringsAsFactors=F))

        var1 var2       var3
      1    A    1 1999-01-01
      2    B    2 2000-01-01
      3    C    3 2001-01-01
      4    D    4 2002-01-01
      5    Q   11 1999-01-02
      6    W   22 2000-01-03
      7    E   33 2001-01-04
      8    R   44 2002-01-05

또한 수업이 유지됩니다.

  mapply(class,Reduce(rbind,lapply(myList,data.frame,stringsAsFactors=F)))
        var1        var2        var3 
 "character"   "numeric"      "Date"

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

목록 중 하나의 정렬 된 순서를 잃지 않고 두 목록에서 사전 목록 만들기

분류에서Dev

목록에서 중첩 된 개체를 찾고 제거하는 방법

분류에서Dev

객체 목록을 중첩 된 객체 목록으로 변환

분류에서Dev

세트를 사용하지 않고 중첩 된 목록에서 중복을 제거합니다.

분류에서Dev

중첩 된 목록 봄 JpaRepository에서 객체를 검색

분류에서Dev

Bootstrap 3의 중첩 된 아코디언 목록이 부모를 선택할 때 선택 해제되지 않음

분류에서Dev

객체 지향 프로그래밍을 사용하지 않고 정렬 된 목록의 연결 목록 생성

분류에서Dev

클래스의 같음 및 해시 코드 메서드를 재정의하지 않고 목록에서 중복 개체 제거

분류에서Dev

R에 접두사를 포함하지 않고 중첩 된 명명 된 목록을 나열 해제하는 방법은 무엇입니까?

분류에서Dev

C # LINQ를 사용하여 중첩 된 목록 해제

분류에서Dev

ElasticSearch는 지정된 용어에서 고유 한 중첩 목록 요소가있는 인덱싱 된 객체를 찾습니다.

분류에서Dev

Retrofit을 사용하여 래핑 된 내부 클래스를 사용하지 않고 객체 목록 가져 오기

분류에서Dev

클래스 객체 목록을 반복하면 해당 객체가 반복 가능하지 않습니까?

분류에서Dev

NULL을 잃지 않고 목록을 나열 해제

분류에서Dev

중첩 된 Realm 목록에 새 객체를 생성하려면 어떻게해야합니까? 상위 개체는 동일하게 유지되어야하지만 "보유"하는 목록을 추가해야합니다.

분류에서Dev

중첩 된 목록 개체 정렬

분류에서Dev

순서를 잃지 않고 목록 항목 숨기기

분류에서Dev

객체 목록이 주어지면 해당 객체가 저장된 목록 객체를 반환하기를 원합니다.

분류에서Dev

for 루프를 사용하지 않고 중첩 된 목록에서 최소값을 찾는 재귀 함수

분류에서Dev

목록과 관련된 객체 지향 프로그래밍 문제

분류에서Dev

Python : 중첩 된 목록 이해

분류에서Dev

대해 forEach, 자바 (8)을 사용하여 목록 목록 (중첩 된 목록)을 생성 스트림

분류에서Dev

Python에서 itertools 체인을 사용하도록 중첩 된 목록 이해를 변환

분류에서Dev

중첩 된 목록이 작동하지 않음

분류에서Dev

중첩 된 같지 않은 목록 비교

분류에서Dev

Python에서 하위 목록이 고르지 않을 때 중복 된 하위 목록 제거

분류에서Dev

Python에서 하위 목록이 고르지 않을 때 중복 된 하위 목록 제거

분류에서Dev

중첩 된 행 목록의 Data.frame, 클래스 목록 열 포함

분류에서Dev

중첩 된 내부 <ul> 목록 스타일 문제

Related 관련 기사

  1. 1

    목록 중 하나의 정렬 된 순서를 잃지 않고 두 목록에서 사전 목록 만들기

  2. 2

    목록에서 중첩 된 개체를 찾고 제거하는 방법

  3. 3

    객체 목록을 중첩 된 객체 목록으로 변환

  4. 4

    세트를 사용하지 않고 중첩 된 목록에서 중복을 제거합니다.

  5. 5

    중첩 된 목록 봄 JpaRepository에서 객체를 검색

  6. 6

    Bootstrap 3의 중첩 된 아코디언 목록이 부모를 선택할 때 선택 해제되지 않음

  7. 7

    객체 지향 프로그래밍을 사용하지 않고 정렬 된 목록의 연결 목록 생성

  8. 8

    클래스의 같음 및 해시 코드 메서드를 재정의하지 않고 목록에서 중복 개체 제거

  9. 9

    R에 접두사를 포함하지 않고 중첩 된 명명 된 목록을 나열 해제하는 방법은 무엇입니까?

  10. 10

    C # LINQ를 사용하여 중첩 된 목록 해제

  11. 11

    ElasticSearch는 지정된 용어에서 고유 한 중첩 목록 요소가있는 인덱싱 된 객체를 찾습니다.

  12. 12

    Retrofit을 사용하여 래핑 된 내부 클래스를 사용하지 않고 객체 목록 가져 오기

  13. 13

    클래스 객체 목록을 반복하면 해당 객체가 반복 가능하지 않습니까?

  14. 14

    NULL을 잃지 않고 목록을 나열 해제

  15. 15

    중첩 된 Realm 목록에 새 객체를 생성하려면 어떻게해야합니까? 상위 개체는 동일하게 유지되어야하지만 "보유"하는 목록을 추가해야합니다.

  16. 16

    중첩 된 목록 개체 정렬

  17. 17

    순서를 잃지 않고 목록 항목 숨기기

  18. 18

    객체 목록이 주어지면 해당 객체가 저장된 목록 객체를 반환하기를 원합니다.

  19. 19

    for 루프를 사용하지 않고 중첩 된 목록에서 최소값을 찾는 재귀 함수

  20. 20

    목록과 관련된 객체 지향 프로그래밍 문제

  21. 21

    Python : 중첩 된 목록 이해

  22. 22

    대해 forEach, 자바 (8)을 사용하여 목록 목록 (중첩 된 목록)을 생성 스트림

  23. 23

    Python에서 itertools 체인을 사용하도록 중첩 된 목록 이해를 변환

  24. 24

    중첩 된 목록이 작동하지 않음

  25. 25

    중첩 된 같지 않은 목록 비교

  26. 26

    Python에서 하위 목록이 고르지 않을 때 중복 된 하위 목록 제거

  27. 27

    Python에서 하위 목록이 고르지 않을 때 중복 된 하위 목록 제거

  28. 28

    중첩 된 행 목록의 Data.frame, 클래스 목록 열 포함

  29. 29

    중첩 된 내부 <ul> 목록 스타일 문제

뜨겁다태그

보관