gpt4 book ai didi

r - R中的一元加/减是什么?

转载 作者:行者123 更新时间:2023-12-03 01:19:15 25 4
gpt4 key购买 nike

来自 R 的详细信息部分 Syntax帮助页面:

The following unary and binary operators are defined. They are listed in precedence groups, from highest to lowest.
[some operators]
- + unary minus and plus
[some more operators]
+ - (binary) add, subtract

什么是一元加/减?

R中一元加(+)/减(-)和二元加(+)或减(-)的区别在哪里?

最佳答案

运算符的元数表明它操作了多少个参数。一元适用于单个参数,二元适用于两个参数,三元适用于三个参数,等等。

-a
^

这是一个一元减号。它否定其后面的单个参数/表达式的值。您可能会将其视为类似 minus(a) 的函数调用,它会更改其参数的符号并将其作为结果返回。一元加法也存在,但它基本上是一个无操作。

a - b
^

这是一个二进制减号。它获取两个参数/表达式的值,并从第一个参数/表达式中减去第二个参数/表达式。您可能会将其视为类似于 minus(a,b) 的函数调用,它接受两个参数并返回它们的差值。二进制加法返回总和。

<小时/>

正如 @BondedDust 所指出的,在 R(以及支持向量处理的其他语言)中,一些运算符实际上采用向量参数,然后分别对每个元素执行操作。例如,一元减号反转向量的所有元素:

> -(-2:2)
[1] 2 1 0 -1 -2

或作为函数调用:

> `-`(-2:2)
[1] 2 1 0 -1 -2

二进制减法按元素减去两个向量:

> 1:5 - 5:1
[1] -4 -2 0 2 4

或作为函数调用:

> `-`(1:5, 5:1)
[1] -4 -2 0 2 4

R 中的减号运算符是一个带有两个参数的函数:

> `-`
function (e1, e2) .Primitive("-")

当两个参数都存在时,它执行二进制减法运算,即从 e1 元素中减去 e2。当仅存在 e1 时,它充当一元减号并对 e1 的元素进行符号反转。

这同样适用于加号运算符。必须小心,不要将加号运算符 +sum 函数混淆。 + 对一个(作为一元运算符)或两个(作为二元运算符)向量参数进行逐元素运算,而 sum 对所有值求和存在于其论点中。虽然 sum 可以接受任意数量的参数:

> sum
function (..., na.rm = FALSE) .Primitive("sum")

+ 运算符只需要一两个:

> `+`(1, 2, 3)
Error in `+`(1, 2, 3) : operator needs one or two arguments

关于r - R中的一元加/减是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27738943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com