R Cheat Sheet (3): Sequences of Numbers
1. 使用“:”运算符生成数字序列
可以使用“:”操作符生成数字序列:
> 1:20 [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > pi:10 [1] 3.141593 4.141593 5.141593 6.141593 7.141593 8.141593 9.141593 > 15:1 [1] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
查看运算符的帮助文档,需要使用单引号“‘”:
> ?':'
2. 使用seq()函数生成数字序列
使用seq() 函数也可以生成数字序列,seq() 函数有更多选项,如指明相邻两数间隔和序列长度等:
> seq(1, 20) [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > seq(0, 10, by=0.5) [1] 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0 > my_seq <- seq(5, 10, length=30) > length(my_seq) [1] 30
使用along.with 参数可以生成与指定序列等长的序列:
> seq(along.with = my_seq) [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
也可以使用seq_along() 函数实现同样效果:
> seq_along(my_seq) [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
一般来说,R提供的内建函数都是经过优化的,尽量使用内建函数。
3. 使用rep()函数生成重复序列
rep() 函数用于生成重复序列:
> rep(0, times = 40) [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 > rep(c(0, 1, 2), times = 10) [1] 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 > rep(c(0, 1, 2), each = 10) [1] 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2