我是 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 @ notation,并具有从右到左的关联性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 课程中使用,并不是一个好主意。这只是一个说明性的比较。