2013-04-29 2 views
0

나는이 구조 다음과 같은 이름으로 여러 개의 데이터 프레임 함께 일하고 있어요 :R에서 어떻게 데이터 프레임을 반복 할 수 있습니까?

data.bzk.18 
data.bzk.19 
data.bzk.20 
data.bzk.21 

내가 데이터를 요약하는 plyr를 사용하여 기본적으로 데이터 프레임의 각각에서 다음을 실행하고 싶습니다 :

bzk.tot.18 <- plyr::count(data.bzk.18, c("BZNR")) 

나는 그들 모두를 통해 루프를 넣어 원하고 불행하게도 그것이 작동하지 않는

for(i in 18:21) { 
    to <- paste("bzk.tot", i, sep = ".") 
    assign(to, i) 

    from <- paste("data.bzk", i, sep = ".") 
    assign(from, i) 

    to <- plyr::count(from, c("BZNR")) #totals 
} 

같은 솔루션을 함께했다. 내가 어디에서 실수 한거야?

to <- plyr::count(from, c("BZNR")) #totals 

사용 :

assign(to, plyr::count(get(from), c("BZNR"))) 

이전 assign 문을 없애

답변

3

짧은 대답은 대신하는 것입니다.


긴 대답은 당신이 아마 그런 패션에 대해 가고 싶지 않다는 것입니다. 모든 데이터. 프레임을 목록에 모으고 목록을 반복하는 것이 좋습니다.

+0

감사합니다. 불행히도 그것은 작동하지 않았다. 오류가 발생했습니다. 'Error in eval (expr, envir, enclos) : 객체'BZNR 'not found' – radek

+1

@radek, 죄송합니다. 'from '은'get (.)'에 싸여 야합니다. 답변이 업데이트되었습니다. –

+1

Yhanks - 그 일을 했어! – radek

관련 문제