1:没有区别.它的存在是为了让旧的S代码继续发挥作用.这在?Math
?Arithmetic
中记录为"注释"
2:是的,但你已经知道了:
`^`(x,y)
#[1] 1024
在R中,数学运算符实际上是函数,解析器负责重新排列参数和函数名,以模拟普通的数学中缀符号.也记录在?Math
.
编辑:让我补充一下,了解R如何处理中缀运算符(即两个参数函数)对于理解基本中缀"[["和"["-函数作为lapply
和sapply
的(函数)第二个参数的使用非常重要:
> sapply( list( list(1,2,3), list(4,3,6) ), "[[", 1)
[1] 1 4
> firsts <- function(lis) sapply(lis, "[[", 1)
> firsts( list( list(1,2,3), list(4,3,6) ) )
[1] 1 4