Возможна ли ассоциативность операторов справа налево в R?
Я новичок в R, и я только что обнаружил, что страдаю отБрекет фобия (см. комментарий в ссылке). мне нравится как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 @ обозначение, с ассоциативностью справа налево вR
?
Вот как это работает в Mathematica, чтобы решить тот же код выше:
Total@Abs@Round@{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
что-то вроде этого:
sum@abs@round@c(1.5,-2.3,3.4)
PS: я знаю@
используется в классах S4, и это не очень хорошая идея. Это просто иллюстративное сравнение.