在 R 中上台
Raise to power in R
这是初学者的问题。
^
和**
有什么区别?
例如:
2 ^ 10
[1] 1024
2 ** 10
[1] 1024
有power(x,y)
这样的功能吗
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
这是初学者的问题。
^
和**
有什么区别? 例如:2 ^ 10 [1] 1024 2 ** 10 [1] 1024
有
power(x,y)
这样的功能吗
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