Tôi có khung dữ liệu sau và ý định của tôi là tìm tất cả các ID, có USAGE khác nhau nhưng cùng TYPE.multidplyr và group_by() và lọc()
ID <- rep(1:4, each=3)
USAGE <- c("private","private","private","private",
"taxi","private","taxi","taxi","taxi","taxi","private","taxi")
TYPE <- c("VW","VW","VW","VW","MER","VW","VW","VW","VW","VW","VW","VW")
df <- data.frame(ID,USAGE,TYPE)
Nếu tôi chạy
df %>% group_by(ID, TYPE) %>% filter(n_distinct(USAGE)>1)
tôi nhận được kết quả mong muốn. Nhưng khung dữ liệu ban đầu của tôi có> 2 triệu hàng. Vì vậy, tôi muốn sử dụng tất cả các lõi của tôi trong hoạt động này.
Tôi đã thử mã này với multidplyr:
f1 <- partition(df, ID)
f2 <- f1 %>% group_by(ID, TYPE) %>% filter(n_distinct(USAGE)>1)
f3 <- collect(f2)
Nhưng sau đó được thông báo sau xuất hiện:
Warning message: group_indices_.grouped_df ignores extra arguments
sau
f1 <- partition(df, ID)
và
Error in checkForRemoteErrors(lapply(cl, recvResult)) :
4 nodes produced errors; first error: Evaluation error: object 'f1' not found.
sau
f2 <- f1%>% group_by(ID, TYPE) %>% filter(f1, n_distinct(USAGE)>1)
Điều gì sẽ là cách chính xác để thực hiện toàn bộ hoạt động vào multidplyr? Cảm ơn rất nhiều.