R:计算 R 中数字的因子
R: Calculate factors of a number in R
我稍微玩了一下 R,结果出现了我不理解的这种行为:
num <- seq(1,20,1)
num[num %% c(1,2) == 0]
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
所以好像是
的模拟表达式
num[num %% 1 == 0 | num %% 2 == 0]
但是当我执行以下操作时会变得很奇怪:
num[num %% c(1,3) == 0]
[1] 1 3 5 6 7 9 11 12 13 15 17 18 19
num[num %% c(1,4) == 0]
[1] 1 3 4 5 7 8 9 11 12 13 15 16 17 19 20
我一直在想,但我无法对此做出解释。这只是出于好奇,但如果有人有理由听到它会非常有趣!。
谢谢!
正如jogo所说,这是回收规则。
num %% 1
的结果是
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
而 num %% 3
的结果是
[1] 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
正在查看 num %% c(1,3)
的结果
[1] 0 2 0 1 0 0 0 2 0 1 0 0 0 2 0 1 0 0 0 2
结果中的第一个数字取自num %% 1
结果的第一个数字,第二个取自num %% 3
结果的第二个数字,第三个取自[=10]中的第三个=] 等等。
我稍微玩了一下 R,结果出现了我不理解的这种行为:
num <- seq(1,20,1)
num[num %% c(1,2) == 0]
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
所以好像是
的模拟表达式num[num %% 1 == 0 | num %% 2 == 0]
但是当我执行以下操作时会变得很奇怪:
num[num %% c(1,3) == 0]
[1] 1 3 5 6 7 9 11 12 13 15 17 18 19
num[num %% c(1,4) == 0]
[1] 1 3 4 5 7 8 9 11 12 13 15 16 17 19 20
我一直在想,但我无法对此做出解释。这只是出于好奇,但如果有人有理由听到它会非常有趣!。
谢谢!
正如jogo所说,这是回收规则。
num %% 1
的结果是
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
而 num %% 3
的结果是
[1] 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
正在查看 num %% c(1,3)
[1] 0 2 0 1 0 0 0 2 0 1 0 0 0 2 0 1 0 0 0 2
结果中的第一个数字取自num %% 1
结果的第一个数字,第二个取自num %% 3
结果的第二个数字,第三个取自[=10]中的第三个=] 等等。