Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 2.99 KB | None | 0 0
  1. library(tidyverse)
  2. # Constants to be used in the tables
  3. FUN <- "Fun"
  4. WIN <- "Win"
  5. SOLO <- "Solo"
  6. TEAM <- "Team"
  7.  
  8. YES <- "Yes"
  9. NO <- "No"
  10. SKIP <- "Skip"
  11.  
  12. INSIDE <- "Inside"
  13. OUTSIDE <- "Outside"
  14. # Create sport table
  15. sport <- tribble(~code,~sport_name,
  16.                  "INDF","Indoor Football",
  17.                  "OUTF","Outdoor Football",
  18.                  "CARD","Cardio",
  19.                  "CYCL","Cycling",
  20.                  "GOLF","Golfing",
  21.                  "AERO","Water Aerobics")
  22.  
  23. # Create persons
  24. person <- tribble(~name,~queried_sport,~context,~reason,~likes_ball_sports,~limited,~lacks_time,~place,~wants_to_stay_active,~verdict,
  25.                  "Brad","INDF",TEAM, FUN,T,F, SKIP, INSIDE,SKIP,F,
  26.                  "Kyle","INDF",TEAM, WIN,T,F, SKIP, INSIDE,SKIP,T,
  27.                  "Tessa","CARD",TEAM, WIN,SKIP,F,F,SKIP,T,F,
  28.                  "Joliene","CARD",SOLO,FUN,SKIP,F,T,SKIP,T,T,
  29.                  "Trixie","OUTF",TEAM, WIN,T,F,SKIP,OUTSIDE,SKIP,T,
  30.                  "Ryan","OUTF",TEAM, FUN,T,T,SKIP,OUTSIDE,SKIP,F,
  31.                  "Alex","CYCL",TEAM, FUN,SKIP,F,T,OUTSIDE,F,F,
  32.                  "Elon","CYCL",SOLO, FUN,SKIP,F,T,OUTSIDE,T,T,
  33.                  "Willem","GOLF",TEAM, WIN,SKIP,T,SKIP,OUTSIDE,SKIP,F,
  34.                  "Boris","GOLF",SOLO, FUN,SKIP,T,SKIP,OUTSIDE,SKIP,T,
  35.                  "Doutzen","AERO",TEAM,SKIP,SKIP,T,SKIP,INSIDE,SKIP,T)
  36.  
  37. # 10 queries
  38.  
  39. #1 Get the queried sport name per person
  40. sport_by_person <- person %>% inner_join(sport, by = c("queried_sport" = "code")) %>%
  41.     select(name, sport_name, verdict)
  42.  
  43. #2 Get people that had a negative verdict
  44. negative_verdict <- person %>% filter(verdict == F) %>% inner_join(sport, by = c("queried_sport" = "code")) %>%
  45.   select(name, sport_name, verdict)
  46.  
  47. #3 Get the healthy people: No limit condition
  48. healthy_persons <- person %>% filter(limited == F) %>% select(name, verdict)
  49.  
  50. #4 Get people with limitations
  51. limited_persons <- person %>% filter(limited == F) %>% select(name, verdict)
  52.  
  53. #5 Get people who prefer to sport outside
  54. outside_people <- person %>% filter(place == OUTSIDE) %>% select(name, verdict)
  55.  
  56. #6 Get all participants querying for football
  57. football_queries <- person %>% inner_join(sport, by = c("queried_sport" = "code")) %>%
  58.   filter(queried_sport == "INDF" | queried_sport == "OUTF") %>% select(name, sport_name, verdict)
  59.  
  60. #7 Get all limited people with a positive verdict
  61. limited_positive <- limited_persons %>% filter(verdict== T)
  62.  
  63. #8 Get the people with a negative verdict for football
  64. football_negative <- person %>%
  65.   filter(verdict == F &(queried_sport == "INDF" | queried_sport == "OUTF")) %>% select(name, sport_name, verdict)
  66.  
  67. #9 Filter on positive verdict for cardio and cycling
  68. cardio_sports_positive <- person %>%
  69.   filter(verdict == T &(queried_sport == "CYCL" | queried_sport == "CARD")) %>% select(name, queried_sport, verdict)
  70.  
  71. #10 Get people who like to sport inside
  72. all_inside <- person %>%
  73.   filter(place == INSIDE) %>% select(name, queried_sport,verdict)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement