Кажется, что в целом считается плохой практикой программирования, чтобы использовать имена переменных, которые имеют функции в базе R с тем же именем.
Например, возникает соблазн написать:
data <- data.frame(...)
df <- data.frame(...)
Теперь функция data
загружает наборы данных, а функция df
вычисляет функцию плотности f.
Точно так же возникает соблазн написать:
a <- 1
b <- 2
c <- 3
Это считается плохой формой, потому что функция c
будет объединять свои аргументы.
Но: В этой рабочей лошади R-функций lm
для вычисления линейных моделей в качестве аргумента используется data
. Другими словами, 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?