Я новичок в R, и я только что обнаружил, что страдаю от Bracket Phobia (см. комментарий в ссылке). Мне нравится способ обозначения magrittr
%>%
, потому что он избегает вложенных скобок в некоторых ситуациях и делает код более читаемым. Я пришел из Mathematica
, где есть очень похожая натурная нотация //
, которая делает то, что делает %>%
. Вот некоторые сравнения R и Mathematica:
#R Notation
c(1.5,-2.3,3.4) %>% round %>% abs %>% sum
#Mathematica Notation
{1.5,-2.3,3.4}//Round//Abs//Total
Пока все хорошо, но, мой вопрос:
Есть ли способ подражать Mathematica @notation, с ассоциативностью справа налево в R
?
Вот как это работает в Mathematica, чтобы решить тот же код выше:
[email protected]@[email protected]{1.5,-2.3,3.4}
В Mathematica он также может быть записан как:
Total[Abs[Round[{1.5,-2.3,3.4}]]]
как и в R
, это будет:
sum(abs(round(c(1.5,-2.3,3.4))))
Но было бы намного чище (и прохладно) иметь в R
что-то вроде этого:
[email protected]@[email protected](1.5,-2.3,3.4)
PS: Я знаю, что @
используется в классах S4, и это не очень хорошая идея. Это просто иллюстративное сравнение.