Должен ли я использовать select(«имя столбца») или select(имя столбца) с dplyr?

#r #dplyr #tidyverse

Вопрос:

Я хочу использовать select from dplyr для выбора столбцов. Однако я не понимаю, следует ли мне использовать "" имена столбцов или просто напрямую.

Например, оба метода дают один и тот же результат:

 library(dplyr)

mtcars %>% select(cyl) # method 1

mtcars %>% select("cyl") # method 2
 

Имеет ли "" это вообще значение в данном случае? Есть ли случай (пакеты и shiny т.д.), Когда опасно использовать один из этих методов?

Комментарии:

1. Возможно dplyr.tidyverse.org/articles/programming.html не могли бы вы дать некоторое представление об этой теме?

2. @MartinGal эта веб-страница на самом деле не объясняет мой вопрос. 🙂

3. Согласно ?select : Вы должны использовать выражения без кавычек, разделенные запятыми. Вы найдете более подробную информацию по tidy selection ссылке, приведенной там.

Ответ №1:

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

Пример с вектором:

 df <- data.frame("a"=1:10,"b"=letters[1:10],"c"=11:20)
my_columns <- c("a","c")

# With warning
df_subset <- df %>% select(my_columns)
# Without warning
df_subset <- df %>% select(all_of(my_columns))
 

Комментарии:

1. mtcars %>% select(c("cyl", "mpg")) не дает никаких предупреждений