Tôi đang cố gắng thay thế tất cả các cuộc gọi plyr
của mình bằng dplyr
. Hiện vẫn còn một vài snags và một trong số họ là với các chức năng group_by
. Tôi tưởng tượng nó hoạt động giống như đối số ddply
thứ hai và chia nhỏ, áp dụng và kết hợp dựa trên các biến nhóm tôi liệt kê. Nhưng đó không phải là trường hợp. Đây là một ví dụ khá tầm thường.Làm cách nào để sao chép hành vi ddply sử dụng chức năng tùy chỉnh với dplyr?
Hãy định nghĩa một hàm ngớ ngẩn
mm <- function(x) return(x[1:5, ])
Bây giờ chúng ta có thể chia nhỏ các loài trong iris
bộ dữ liệu như vậy và áp dụng chức năng này để từng mảnh.
ddply(iris, .(Species), mm)
Điều này hoạt động như dự định. Tuy nhiên, khi tôi thử cùng với dplyr
, nó không hoạt động như mong đợi.
iris %>% group_by(Species) %>% mm
Tôi đang làm gì sai?
+1 cộng , nếu OP muốn sử dụng chức năng tùy chỉnh của mình, anh ta cũng có thể làm điều đó: 'iris%>% group_by (Loài)%>% do (mm (.))' hoặc chỉ sử dụng 'iris%>% group_by (Loài)% >% do (head (., 5)) ' –