문제

다음과 같이 보이는 목록 목록이 있습니다. x[[state]][[year]]. 이것의 각 요소는 데이터 프레임이며 개별적으로 액세스하는 것은 문제가되지 않습니다.

그러나 여러 목록에서 데이터 프레임을 Rbind하고 싶습니다. 보다 구체적으로, 나는 몇 년만큼 많은 데이터 프레임, 즉 매년 모든 상태 데이터 프레임을 RBind로 출력하고 싶습니다. 다시 말해, 매년 모든 주 데이터를 별도의 데이터 프레임으로 결합하고 싶습니다.

단일 목록을 데이터 프레임으로 결합 할 수 있다는 것을 알고 있습니다. do.call("rbind",list). 하지만 목록 목록에서 어떻게 그렇게 할 수 있는지 모르겠습니다.

도움이 되었습니까?

해결책

당신은 다음 줄을 따라 무언가를 할 수 있습니다 (그러한 구조가 없기 때문에 테스트 할 수 없었습니다).

extract.year <- function(my.year) lapply(x, function(y) y[[my.year]])

x.by.year <- sapply(my.list.of.years, function(my.year)
    do.call(rbind, extract.year(my.year)))   

함수 추출 연도는 주어진 연도의 데이터 프레임 만 포함 된 목록을 만듭니다. 그럼 당신은 그들에게 ...

다른 팁

먼저 목록으로 붕괴하십시오.

list <- unlist(listoflists, recursive = FALSE)
df <- do.call("rbind", list)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top