微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R中的负数模

如何解决R中的负数模

对于 -2%%5 和 -2%%7。余数是 3 和 5。我试着看看他们是如何到达 3 和 5 的

a == (a/b)*b + a%b

但我仍然没有 3 和 5。负数如何在 R 中取模?

解决方法

R 与“floored Division”方法一致。 还要考虑您的除数在哪里,例如2 %% -7

在你的情况下,它是这样的:

a <- -2
b <- 5

(a %/% b) * b + a %% b #== a
#> [1] -2 

all.equal(a,(a %/% b) * b + a %% b)
#> [1] TRUE

这里的 %/% 是底除法,%% 是这方面的余数。即

quotient <- floor(a/b)  # = a %/% b
remainder <- a - b*q    # = a %% b
a == quotient*b + remainder
#> [1] TRUE

Wikipedia 对此进行了很好的讨论。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。