문제
다음과 같이 보이는 목록 목록이 있습니다. 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)
제휴하지 않습니다 StackOverflow