R의 data.frame에서 모든 고유 요인 조합에 대한 요약 통계를 찾는 방법은 무엇입니까? [닫은]


11

data.frame에서 요인의 각 고유 조합에 대해 data.frame에서 변수 요약을 계산하려고합니다. plyr를 사용해야합니까? apply ()와 반대로 루프를 사용하는 것이 좋습니다. 각 고유 한 조합을 찾는 것으로 충분합니다.


1
고유 한 요인 조합에 대해 질문 할 때 질문이 오도되고 고유 한 조합으로 요약에 대해 자세하게 요청합니다.
Wojtek

답변:


7

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

그런 다음 결과 데이터 프레임의 각 행을 반복하여 원래 데이터에서 레코드를 가져옵니다.


11

참조 aggregateby. 예를 들어, 다음에 대한 도움말 파일에서 aggregate:

## Compute the averages according to region and the occurrence of more
## than 130 days of frost.
aggregate(state.x77,
      list(Region = state.region,
           Cold = state.x77[,"Frost"] > 130),
      mean)

1
가장 빠른 정답
John

3

다음은 여러 요약 통계를 반환하고 긴 계산을위한 진행률 표시 줄을 만드는 이점이있는 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'
)

감사합니다! data.frame 호출에서 쉼표를 삭제해야했지만 이것은 효과가있었습니다. 통계 = ddply (.data = ords, .variables =. (Symbol, SysID, Hour), .fun = function (x) {to_return = data.frame (s = sum (x Profit) ) return (to_return)}, .progress = 'text')아르 자형영형에프나는),미디엄=미디엄이자형(엑스

1

다른 제안 외에도 패키지 의 describe.by()기능이 psych유용하다는 것을 알 수 있습니다 . 요인 변수 수준에서 숫자 변수에 대한 요약 통계를 표시하는 데 사용할 수 있습니다.


1

나는 cast()그것이 단순하기 때문에 개편 패키지에서 개인적으로 좋아한다 .

library(reshape)
cast(melt(tips), sex ~ smoker | variable, c(sd,mean, length))

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.