私は以下のデータフレームを持っています。私は異なるUSAGEで同じTYPEを持つすべてのIDを見つけることを意図しています。私はmultidplyrとgroup_by()とfilter()
df %>% group_by(ID, TYPE) %>% filter(n_distinct(USAGE)>1)
を実行する場合
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)
私が意図した結果を取得します。しかし、私の元のデータフレームは2百万行以上あります。だから私はこの操作を実行する際にすべてのコアを使いたいと思っています。
f1 <- partition(df, ID)
f2 <- f1 %>% group_by(ID, TYPE) %>% filter(n_distinct(USAGE)>1)
f3 <- collect(f2)
しかし、その後、次のメッセージが表示されます:
Warning message: group_indices_.grouped_df ignores extra arguments
f1 <- partition(df, ID)
と
Error in checkForRemoteErrors(lapply(cl, recvResult)) :
4 nodes produced errors; first error: Evaluation error: object 'f1' not found.
後
私はmultidplyrでこのコードを試してみましたmultidplyrに全体の動作を実現するための正しい方法だろう何
f2 <- f1%>% group_by(ID, TYPE) %>% filter(f1, n_distinct(USAGE)>1)
後
?どうもありがとう。