Guest User

Untitled

a guest
Dec 14th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. name city state stars main_category
  2. A Pittsburgh PA 5.0 Soul Food
  3. B Houston TX 3.0 Professional Services
  4. C Lafayette IN 3.0 NA
  5. D Los Angeles CA 4.0 Local Services
  6. E Los Angeles CA 3.0 Local Services
  7. F Lafayette IN 3.5 Mongolian
  8. G Pittsburgh PA 5.0 Doctors
  9. H Pittsburgh PA 4.0 Soul Food
  10. I Houston TX 4.0 Professional Services
  11.  
  12. name city state stars main_category rank
  13. I Houston TX 4.0 Professional Services 1
  14. B Houston TX 3.0 Professional Services 2
  15. F Lafayette IN 3.5 Mongolian 1
  16. D Los Angeles CA 4.0 Local Services 1
  17. E Los Angeles CA 3.0 Local Services 2
  18. G Pittsburgh PA 5.0 Doctors 1
  19. A Pittsburgh PA 5.0 Soul Food 1
  20. H Pittsburgh PA 4.0 Soul Food 2
  21.  
  22. l <- ddply(d, c("city", "state", "main_category"), na.rm=T, transform, rank=rank(-stars, ties.method="max"))
  23.  
  24. no <- na.omit(dat)
  25. new <- no[do.call(order, with(no, list(city, state, -stars))),]
  26. within(new, {
  27. rank <- Reduce(c, Map(rank, split(-stars, city), ties.method = "min"))
  28. })
  29. # name city state stars main_category rank
  30. # 9 I Houston TX 4.0 Professional Services 1
  31. # 2 B Houston TX 3.0 Professional Services 2
  32. # 6 F Lafayette IN 3.5 Mongolian 1
  33. # 4 D Los Angeles CA 4.0 Local Services 1
  34. # 5 E Los Angeles CA 3.0 Local Services 2
  35. # 1 A Pittsburgh PA 5.0 Soul Food 1
  36. # 7 G Pittsburgh PA 5.0 Doctors 1
  37. # 8 H Pittsburgh PA 4.0 Soul Food 3
  38.  
  39. library(dplyr)
  40. filter(dat, complete.cases(dat)) %>%
  41. group_by(city) %>%
  42. arrange(city, state, desc(stars)) %>%
  43. mutate(rank= min_rank(desc(stars)))
  44. # name city state stars main_category rank
  45. #1 I Houston TX 4.0 Professional Services 1
  46. #2 B Houston TX 3.0 Professional Services 2
  47. #3 F Lafayette IN 3.5 Mongolian 1
  48. #4 D Los Angeles CA 4.0 Local Services 1
  49. #5 E Los Angeles CA 3.0 Local Services 2
  50. #6 A Pittsburgh PA 5.0 Soul Food 1
  51. #7 G Pittsburgh PA 5.0 Doctors 1
  52. #8 H Pittsburgh PA 4.0 Soul Food 3
  53.  
  54. ddply(d, c("city", "state", "main_category"), transform,
  55. rank=rank(-stars, na.last = TRUE, ties.method="max"))
Add Comment
Please, Sign In to add comment