Я был активным пользователем R
уже несколько лет, и что-то меня всегда путало. При установке пакетов (например, dplyr
) необходимо указать имя пакета как строку i.e.
install.packages("dplyr")
Вместо
install.packages(dplyr)
Это имеет смысл для меня, поскольку "dplyr"
будет передаваться как имя пакета, а не как объект, что будет подразумеваться dplyr
без кавычек.
Однако, когда мы идем загружать библиотеку, как строка, так и версия объекта проходят и загружают пакет. Оба из них правильно загружают пакет:
library("dplyr")
detach("package:dplyr", unload=TRUE)
library(dplyr)
В моей рабочей области нет объекта с именем dplyr
, и я не понимаю, почему эти две функции base
имели бы другой синтаксис. Я также не понимаю, почему версия без кавычек не будет оценивать объект. Например
dplyr <- "mada"
install.packages(dplyr)
library(dplyr)
Вышеуказанная устанавливает mada
, но загружает dplyr
, хотя dplyr
- это объект, который оценивается как "mada"
. Обратите внимание, что я работаю в RStudio
v.0.99.467 на Mac OS 10.10.4, если это имеет значение.
Есть ли причина для этого или просто потому, что функции работают по-другому?