Skip to content

数字

进入交互模式。

R

不支持大数。

123456789123456789
[1] 1.234568e+17

虽然可以调整精度,但意义不大。

生成 1 到 10 的向量。

1:10

seq(1, 10)
[1] 1 2 3 4 5 6 7 8 9 10

[1] 1 2 3 4 5 6 7 8 9 10

加法。

1 + 2
0.1 + 0.2

c(3, 4, 5) + 2
c(3, 4, 5) + c(1, 2, 3)
[1] 3
[1] 0.3

[1] 5 6 7
[1] 4 6 8

减法。

7 - 2
0.7 - 0.2

c(3, 4, 5) - 2
c(3, 4, 5) - c(1, 2, 3)
[1] 5
[1] 0.5

[1] 1 2 3
[1] 2 2 2

乘法。

3 * 4
0.3 * 0.4

c(3, 4, 5) * 2
c(3, 4, 5) * c(1, 2, 3)
[1] 12
[1] 0.12

[1] 6 8 10
[1] 3 8 15

除法。

8 / 2
7 / 2
0.8 / 0.2

c(8, 7, 6) / 2
c(8, 7, 6) / c(1, 2, 3)
[1] 4
[1] 3.5
[1] 4

[1] 4.0 3.5 3.0
[1] 8.0 3.5 2.0

取整。

8 %/% 2

7 %/% 2
[1] 4

[1] 3

取余。

8 %% 2

7 %% 2
[1] 0

[1] 1

幂次。

2 ^ 3

2 ** 3
[1] 8

[1] 8

某储物柜,保存 18 小时内免费,超时计费,找出对应关系。

a <- 0:23
b <- (a + 18) %% 24

a
b
[1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

[1] 
18 19 20 21 22 23 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

反向给出对应关系。

a <- 0:23
b <- (a - 18 + 24) %% 24

a
b
[1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

[1] 
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0 1 2 3 4 5

从 2049 年 10 月起,输出连续 12 个月。

ym <- function(year, month, cnt) {
    return(c(year + (month - 1 + cnt) %/% 12, (month - 1 + cnt) %% 12 + 1))
}

for (i in 0:11) {
    print(ym(2049, 10, i))
}
[1] 2049  10
[1] 2049  11
[1] 2049  12
[1] 2050   1
[1] 2050   2
[1] 2050   3
[1] 2050   4
[1] 2050   5
[1] 2050   6
[1] 2050   7
[1] 2050   8
[1] 2050   9

月份从 1 开始,计算取整、取余有减一、加一的操作。

退出交互模式。

q()

联系 math@baima.site