Обычно считается плохой практикой программирования использовать имена переменных, которые имеют функции в базе R с тем же именем.
Например, есть соблазн написать:
data <- data.frame(...)
df <- data.frame(...)
Теперь функция data
загружает наборы данных, в то время как функция df
вычисляет функцию плотности f.
Аналогичным образом возникает соблазн написать:
a <- 1
b <- 2
c <- 3
Это считается плохим тоном, потому что функция c
объединит свои аргументы.
Но: В этой рабочей лошадке функций R, lm
, для вычисления линейных моделей, данные
используются в качестве аргумента. Другими словами, data
становится явной переменной внутри функции lm
.
Итак: Если основная группа R может использовать идентичные имена для переменных и функций, что останавливает нас, простых смертных?
Ответ не в том, что R запутается. Попробуйте следующий пример, где я явно назначаю переменную с именем c
. R совершенно не путается с разницей между переменной и функцией:
c("A", "B")
[1] "A" "B"
c <- c("Some text", "Second", "Third")
c(1, 3, 5)
[1] 1 3 5
c[3]
[1] "Third"
Вопрос: В чем именно проблема с наличием переменной с тем же именем, что и у базовой функции R?