Guest User

Untitled

a guest
Oct 23rd, 2017
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. my_select <- function(.data, df1, df2) {
  2. DF1 <- dplyr::select(.data, rlang::UQS(df1))
  3. DF2 <- dplyr::select(.data, rlang::UQS(df2))
  4. list(DF1 = DF1, DF2 = DF2)
  5. }
  6.  
  7. working_eg <-
  8. my_select(mtcars,
  9. df1 = alist(dplyr::contains("r"), dplyr::matches("^.p.*")),
  10. df2 = alist(disp))
  11.  
  12. str(working_eg, max.length = 1L)
  13.  
  14. ## List of 2
  15. ## $ DF1:'data.frame': 32 obs. of 5 variables:
  16. ## ..$ drat: num [1:32] 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
  17. ## ..$ gear: num [1:32] 4 4 4 3 3 3 3 4 4 4 ...
  18. ## ..$ carb: num [1:32] 4 4 1 1 2 1 4 2 2 4 ...
  19. ## ..$ mpg : num [1:32] 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
  20. ## ..$ hp : num [1:32] 110 110 93 110 175 105 245 62 95 123 ...
  21. ## $ DF2:'data.frame': 32 obs. of 1 variable:
  22. ## ..$ disp: num [1:32] 160 160 108 258 360 ...
  23.  
  24. my_select(mtcars,
  25. df1 = list(dplyr::contains("r"), dplyr::matches("^.p.*")),
  26. df2 = list(disp))
  27. ## Error: Variable context not set
  28.  
  29. my_select2 <- function(.data, df1, df2) {
  30. DF1 <- dplyr::select(.data, rlang::UQS(rlang::quos(df1)))
  31. DF2 <- dplyr::select(.data, rlang::UQS(rlang::quos(df2)))
  32. list(DF1 = DF1, DF2 = DF2)
  33. }
  34.  
  35. my_select2(mtcars,
  36. df1 = list(dplyr::contains("r"), dplyr::matches("^.p.*")),
  37. df2 = list(disp))
  38. ## Error: `df1` must resolve to integer column positions, not a list
  39.  
  40. packageVersion("dplyr")
  41. # [1] ‘0.7.4’
  42. packageVersion("rlang")
  43. # [1] ‘0.1.2’
Add Comment
Please, Sign In to add comment