I have a project need to use min_rank from tidyvers, but when I loaded plyr (use it for data aggregation), ranking function doesn't work. Is there any way to make tidyverse able to work together with plyr? thank you.
Hi!
To help us help you, could you please prepare a reproducible example (reprex) illustrating your issue? Please have a look at this guide, to see how to create one:
Here is a example:
library(tidyverse)
mydata<-mtcars
# it works well here
mydata1<- mydata %>% group_by(cyl) %>% mutate(Rank=min_rank(desc(mpg)))
mydata1<- mydata1[order(mydata1$cyl,mydata1$Rank),]
# after loading plyr, doesn't work, ranking is not grouped.
library(plyr)
mydata2<- mydata %>% group_by(cyl) %>% mutate(Rank=min_rank(desc(mpg)))
mydata2<- mydata2[order(mydata2$cyl,mydata2$Rank),]
# To make it work again, have to re-install tidyvers.
By loading plyr
later you are masking some function names
The following objects are masked from ‘package:dplyr’:
arrange, count, desc, failwith, id, mutate, rename, summarise, summarize
I don't see a reason for using plyr
over dplyr
but you can solve this problem by being specific about the source package for each masked function e.g.
mtcars %>%
group_by(cyl) %>%
dplyr::mutate(Rank=min_rank(dplyr::desc(mpg))) %>%
dplyr::arrange(cyl, Rank)
1 Like
Great! it works well. Thank you so much!
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.