Làm cách nào để tìm số liệu thống kê tóm tắt cho tất cả các kết hợp các yếu tố duy nhất trong một data.frame trong R? [đóng cửa]


11

Tôi muốn tính toán tóm tắt một biến trong data.frame cho mỗi kết hợp các yếu tố duy nhất trong data.frame. Tôi có nên sử dụng plyr để làm điều này? Tôi ổn với việc sử dụng các vòng lặp thay vì áp dụng (); Vì vậy, chỉ cần tìm ra mỗi sự kết hợp độc đáo là đủ.


1
Câu hỏi gây hiểu lầm khi bạn hỏi về sự kết hợp các yếu tố độc đáo và sau đó trong chi tiết bạn hỏi về tóm tắt bằng các kết hợp duy nhất.
Wojtek

Câu trả lời:


7

Trong khi tôi nghĩ aggregatecó lẽ là giải pháp bạn đang tìm kiếm, nếu bạn muốn tạo một danh sách rõ ràng về tất cả các kết hợp yếu tố có thể, expand.gridsẽ làm điều đó cho bạn. ví dụ

> 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

Sau đó, bạn có thể lặp qua từng hàng trong khung dữ liệu kết quả để lấy các bản ghi từ dữ liệu gốc của mình.


11

Xem aggregateby. Ví dụ: từ tệp trợ giúp cho 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
chạy nhanh nhất câu trả lời đúng
John

3

Đây là giải pháp plyr, có lợi thế là trả về nhiều số liệu thống kê tóm tắt và tạo ra một thanh tiến trình cho các tính toán dài:

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'
)

Profit),m=mean(x

1

Ngoài các đề xuất khác, bạn có thể thấy describe.by()chức năng trong psychgói hữu ích. Nó có thể được sử dụng để hiển thị số liệu thống kê tóm tắt về các biến số qua các cấp của một biến nhân tố.


1

Cá nhân tôi thích cast(), từ gói định hình lại vì tính đơn giản của nó:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.