답변:
aggregate
아마도 당신이 찾고있는 해결책 이라고 생각하지만 가능한 모든 요인 조합의 명시 적 목록을 만들고 싶다면 expand.grid
그렇게 할 것입니다. 예 :
> expand.grid(height = seq(60, 80, 5), weight = seq(100, 300, 50),
sex = c("Male","Female"))
height weight sex
1 60 100 Male
2 65 100 Male
...
30 80 100 Female
31 60 150 Female
그런 다음 결과 데이터 프레임의 각 행을 반복하여 원래 데이터에서 레코드를 가져옵니다.
다음은 여러 요약 통계를 반환하고 긴 계산을위한 진행률 표시 줄을 만드는 이점이있는 plyr 솔루션입니다.
library(ez) #for a data set
data(ANT)
cell_stats = ddply(
.data = ANT #use the ANT data
, .variables = .(cue,flanker) #uses each combination of cue and flanker
, .fun = function(x){ #apply this function to each combin. of cue & flanker
to_return = data.frame(
, acc = mean(x$acc)
, mrt = mean(x$rt[x$acc==1])
)
return(to_return)
}
, .progress = 'text'
)
에서 library(doBy)
도있다 summaryBy()
기능, 예를 들어,
summaryBy(DV1 + DV2 ~ Height+Weight+Sex,data=my.data)