#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"))
не дает никаких предупреждений