2017-12-29 7 views
-1

특정 변수가 주어진 값을 초과하는 데이터 프레임 목록에서 모든 인스턴스를 계산하려고합니다. 나는 그래서 그것을 할 시도 :목록 항목 전체에서 조건부 개수 반복 R

for (name in myList){ 
    nrow(subset(myList[[name]], var >=6)) 
} 

내가 여기 발견 : http://www.statisticsblog.com/2010/03/r-tip-iterating-over-list/

는 그러나, 나는 다음과 같은 오류가 발생합니다 :

Error in myList[[name]] : invalid subscript type 'list' 

내가 사용했기 때문에 작동 nrow 것을 알고있다 루프 외부의 특정 목록 항목에서 성공하고 성공했습니다. 왜 오류가 발생하는지 파악할 수 없습니다. I, J와

myList$`i.j.k` 

, 각각 다른 수치 복용 케이 : 목록 이름이되도록 설정된다. .csv 파일에서 읽은 데이터 프레임에서 목록을 생성했습니다.

myList <- split(data, f=list(data$i, data$j, data$k)) 

무엇이 오류의 원인입니까? 또는 모든 목록 요소에서 조건부 개수를 수행하는 더 좋은 방법이 있습니다 (2000+ 이상이 있으므로 모든 비 루프 방식이 이상적입니다). 감사!

오히려

보다
for (name in myList){ 
    nrow(subset(myList[[name]], var >=6)) 
} 

그것을해야한다 :

for (name in myList){ 
    nrow(subset(name, var >=6)) 
} 
+1

당신이 목록에서 목록을 요구하고있다 – PoGibas

답변

0

나는 @PoGibas에서 주석 덕분에 그것을 알아 냈어? `name in myList` ->`myList [[name]]`