Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- my_select <- function(.data, df1, df2) {
- DF1 <- dplyr::select(.data, rlang::UQS(df1))
- DF2 <- dplyr::select(.data, rlang::UQS(df2))
- list(DF1 = DF1, DF2 = DF2)
- }
- working_eg <-
- my_select(mtcars,
- df1 = alist(dplyr::contains("r"), dplyr::matches("^.p.*")),
- df2 = alist(disp))
- str(working_eg, max.length = 1L)
- ## List of 2
- ## $ DF1:'data.frame': 32 obs. of 5 variables:
- ## ..$ drat: num [1:32] 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
- ## ..$ gear: num [1:32] 4 4 4 3 3 3 3 4 4 4 ...
- ## ..$ carb: num [1:32] 4 4 1 1 2 1 4 2 2 4 ...
- ## ..$ mpg : num [1:32] 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
- ## ..$ hp : num [1:32] 110 110 93 110 175 105 245 62 95 123 ...
- ## $ DF2:'data.frame': 32 obs. of 1 variable:
- ## ..$ disp: num [1:32] 160 160 108 258 360 ...
- my_select(mtcars,
- df1 = list(dplyr::contains("r"), dplyr::matches("^.p.*")),
- df2 = list(disp))
- ## Error: Variable context not set
- my_select2 <- function(.data, df1, df2) {
- DF1 <- dplyr::select(.data, rlang::UQS(rlang::quos(df1)))
- DF2 <- dplyr::select(.data, rlang::UQS(rlang::quos(df2)))
- list(DF1 = DF1, DF2 = DF2)
- }
- my_select2(mtcars,
- df1 = list(dplyr::contains("r"), dplyr::matches("^.p.*")),
- df2 = list(disp))
- ## Error: `df1` must resolve to integer column positions, not a list
- packageVersion("dplyr")
- # [1] ‘0.7.4’
- packageVersion("rlang")
- # [1] ‘0.1.2’
Add Comment
Please, Sign In to add comment