Функция R для сравнения столбцов - PullRequest
0 голосов
/ 04 марта 2019

На языке R я хотел бы создать функцию для просмотра выбранных столбцов для сравнения в средстве просмотра.Предполагая, что мой фрейм данных имеет вид df1:

compare_col <- function(x){
  select(df1, x) %>%
    View()
}

Если я определяю функцию по x, я могу поставить только столбец ввода 1.

compare_col <- function(x)

compare_col("col_1")

Только если я определю функцию, скажем, x,y, тогда я могу ввести в 2 столбца.

compare_col <- function(x, y)

compare_col("col_1", "col_2")

Как я могу создать функцию, которая достаточно динамична для ввода в любое нет.столбцов?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Только что понял, все, что мне действительно нужно было сделать, это векторизовать входы при вызове функции.

compare_col(c("col1", "col2"))
0 голосов
/ 04 марта 2019

Вы можете использовать пакет rlang для достижения этой цели.Это позволит вам вводить строку с именами столбцов, используя операторы syms и !!!, которые будут динамически склеиваться и оцениваться в заданной среде.

library(dplyr)
#library(rlang)
compare_col <- function(x){
  df1 %>% select(!!! syms(x)) %>%
    View()
}
compare_col(c("col1", "col2"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...