gpt4 book ai didi

r - 环绕减法

转载 作者:行者123 更新时间:2023-12-04 11:54:46 24 4
gpt4 key购买 nike

我有这些数字:

login.day$wday
[1] 5 6 7 1 2 3 4

我想将它们映射到:

login.day$wday
[1] 4 5 6 7 1 2 3

每个数字都减去 1,如果答案是 0,则将其折回到 7。这​​简单得令人尴尬,但我就是想不通。我的尝试一直给我一个零:

> (login.day$wday + 6) %% 7
[1] 4 5 6 0 1 2 3

首选 R 中的解决方案。是否可以使用模运算或者我必须使用 if 语句

最佳答案

在数学上等同于另一个解决方案,并有一些解释。

(login.day$wday - 1 - 1) %% 7 + 1

问题是很难对从 1 开始的数字进行模运算。

我们首先执行 -1 将所有内容向下移动 1,因此我们有一个从零开始的数字,范围从 [0,6].

然后我们减去 1,因为这是我们开始时尝试做的事情。

接下来,我们取模,并将 1 加回去,将所有内容移回到 [1,7] 范围内。

关于r - 环绕减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23180530/

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