Ответ 1
.
не имеет никакого врожденного/магического значения в R. Это просто еще один символ, который вы можете использовать в именах символов. Но так как его так удобно печатать, ему придавали особое значение определенными функциями и соглашениями в R. Вот лишь несколько
-
.
используется поиск в реализациях универсальных методов S3. Например, если вы вызываете универсальную функцию, такую какplot
с объектом классаlm
в качестве первого параметра, тогда она будет искать функцию с именемplot.lm
и, еслиplot.lm
, будет вызывать ее. - часто
.
в формулах означает "все остальные переменные", например,lm(y~., data=dd)
регрессируетy
по всем другим переменным в data.framedd
. - библиотеки, такие как
dplyr
используют его как специальное имя переменной, чтобы указать текущий data.frame для таких методов, какdo()
. Они могли бы так же легко использовать вместо этого имя переменнойX
- такие функции, как
bquote
используют.()
как специальную функцию для экранирования переменных в выражениях - переменные, начинающиеся с точки, считаются "скрытыми" и не будут отображаться с помощью
ls()
если вы неls(all.names=TRUE)
(аналогично поведению файловой системы UNIX)
Однако вы также можете просто определить переменную с именем my.awesome.variable<-42
и она будет работать так же, как и любая другая переменная.
Сам по себе %
не означает ничего особенного, но R позволяет вам определять свои собственные инфиксные операторы в форме %<something>%
используя два знака процента. Если вы определите
'%myfun%' <- function(a,b) {
a*3-b*2
}
Вы можете назвать это как
5 %myfun% 2
# [1] 11