Tôi đã rất sốc bởi sự mượt mà của gói dplyr trong xử lý dữ liệu kiểu dòng chảy. Gần đây tôi đổ xô vào một vấn đề để tạo ra một khung dữ liệu mới cho mỗi ID nhóm và kết hợp các khung dữ liệu nhỏ đó vào một khung dữ liệu lớn hơn cuối cùng. Một ví dụ đồ chơi:Làm thế nào dplyr có thể tạo khung dữ liệu cho mỗi nhóm sau khi hoạt động group_by?
input.data.frame %>%
group_by(gid) %>%
{some operation to generate a new data frame for each group} ## FAILED!!!!
Trong dplyr, hàm mutate
thêm cột mới cho từng nhóm và summarise
tóm tắt phát cho mỗi nhóm, cả hai đều không thể thực hiện yêu cầu của tôi. (Ý của tôi bỏ lỡ một cái gì đó?)
Ngoài ra, sử dụng ddply
của gói plyr, các interation trước của dplyr, tôi có thể làm cho nó qua
ddply(input.data.frame, .(gid), function(x) {
some operation to generate a new data frame for each group
}
Nhưng sự thiếu hụt một số funcs trong dplyr sẽ được chèn thêm từ availableness khi tôi tải gói plyr.
Bạn phải sử dụng toán tử 'do' trong trường hợp này. Tuy nhiên, sẽ tốt hơn nếu bạn cho chúng tôi thấy những gì bạn thực sự muốn làm/đạt được cuối cùng. Từ tệp trợ giúp: "Bạn có thể sử dụng để thực hiện tính toán tùy ý, trả về khung dữ liệu hoặc các đối tượng tùy ý sẽ được lưu trữ trong danh sách". –
Giới thiệu tuyệt vời "Tôi đã rất sốc bởi sự mượt mà của gói dplyr trong xử lý dữ liệu kiểu dòng chảy." :) –
Và bằng cách này, nếu bạn tải cả hai gói (plyr và dplyr), đề xuất là tải plyr trước và sau đó dplyr, do đó, gói "chuẩn" cho ví dụ: "tóm tắt" sẽ là dplyr, nhưng nếu bạn cần nó từ plyr, chỉ cần sử dụng 'plyr :: summaryise' để làm cho các gói rõ ràng. –