Я был активным пользователем 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, если это имеет значение.
Есть ли причина для этого или просто потому, что функции работают по-другому?