2013-02-04 4 views
0

미리 감사드립니다.여러 데이터 프레임을 빠르게 요약하는 방법 R

   NDC CHARGE GENERIC 
4060 68382006401 43.34 true 
4061 68382006401 95.04 true 
4062 68382006410 16.77 false 

내가 변수 "데이터"를 읽고있는 것을 .csv 파일을 저장 : 나는 단순히 내가 그 읽기 오전 파일이 R에 여러 개의 데이터 프레임을 요약하려고하면이 같은 출력을 가지고있다. 데이터를 읽은 후 GENERIC 열이 true 또는 false인지에 따라 두 개의 다른 변수 ("true"및 "false")로 구분합니다. 내가하고 싶은 일은 효율적으로 세 가지 다른 데이터 프레임의 일부 컬럼을 요약하는 것입니다. 현재 나는 다음을 사용합니다 :

sapply(data[,1:2], summarize) 
sapply(true[,1:2], summarize) 
sapply(false[,1:2], summarize) 

데이터 요약. 이 방법은 지금 당장은 괜찮지 만 더 많은 변수를 갖게 될 것입니다. 그리고 루프를 돌릴 수 있거나 데이터 프레임을 연결하는 것처럼 보일 것 같습니다.

+0

는'summarize' 패키지 (심지어 Hmisc)에서 아마 행동들. –

답변

2

data.frames을 목록에 넣을 수 있습니다 (예 :

dat <- data.frame(x=1:5,y=5:1) 

datlist <- list(dat,dat,dat) 

다음 lapply과 함께 모든 data.frames을 통해 기능을 실행할 수 있습니다

lapply(datlist, function(x) sapply(x[,1:2], summary)) 

좋은 쉬운 방법은 하나 data.frame에 다시 함께 모든 결과를 가져하면 패키지 plyr 함께 :

library(plyr) 
ldply(datlist, function(x) sapply(x[,1:2], summary)) 
+0

감사합니다. 이것은 내가 찾고 있었던 것입니다. – user2040842

0

이 질문에 다양한 모호성이 있지만 아마도 다음과 같을 것입니다.

sapply(data[,1:2], summarize) 
sapply(data[data$GENERIC="true", 1:2], summarize) 
sapply(data[data$GENERIC="false", 1:2], summarize) 

데이터 opbjects를 "data"이외의 이름으로 지정하는 것이 좋습니다. 같은 이름의 영구적으로 환희를 만드는 주제에 재산도있다

install.packages("fortunes") 
require("fortunes") 
fortune("dog") 
관련 문제