这是初学者的问题。
^
和**
之间的区别是什么?
例如:
2 ^ 10
[1] 1024
2 ** 10
[1] 1024
是否有power(x,y)
?
答案 0 :(得分:30)
1:没有区别。它被保留以允许旧的S代码继续运行。这记录在" Note"在?Math
2:是的但你已经知道了:
`^`(x,y)
#[1] 1024
在R中,数学运算符实际上是解析器负责重新排列参数和函数名称以模拟普通数学中缀表示法的函数。同样记录在?Math
。
编辑:让我补充一点,知道R如何处理中缀运算符(即两个参数函数)对于理解基础中缀的使用非常重要" [["和" [" -functions作为(功能)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