【R语言经典实例4】如何生成一个数列

2019-04-10 10:34:45 浏览数 (1)

问题

如何生成一个数列。

解决方案

使用表达式n:m生成简单数列n,n 1,n 2,...,m: > 1:5 [1] 1 2 3 4 5

对于增量不为1的数列,可以使用seq函数: > seq(from=1, to=5, by=2) [1] 1 3 5

使用rep函数生成由一个数的重复所组成的数列: > rep(1, times=5) [1] 1 1 1 1 1

讨论

冒号运算符(n:m)会生成包含n,n 1,n 2,...,m的一个向量: > 0:9 [1] 0 1 2 3 4 5 6 7 8 9 > 10:19 [1] 10 11 12 13 14 15 16 17 18 19 > 9:0 [1] 9 8 7 6 5 4 3 2 1 0

注意,上述最后一个表达式(9:0),R软件能自动识别9大于0并以递减的形式生成数列。

冒号运算符仅能生成增量为1的数列。而seq函数通过它的第三个参数来规定数列元素的增量: > seq(from=0, to=20) [1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > seq(from=0, to=20, by=2) [1] 0 2 4 6 8 10 12 14 16 18 20 > seq(from=0, to=20, by=5) [1] 0 5 10 15 20

相应地,你可以在函数中规定输出数列的长度,R软件会自动识别并根据要求生成等增量数列: > seq(from=0, to=20, length.out=5) [1] 0 5 10 15 20 > seq(from=0, to=100, length.out=5) [1] 0 25 50 75 100

函数seq的增量参数并非一定是整数。R软件也可以生成具有分数增量的数列: > seq(from=1.0, to=2.0, length.out=5) [1] 1.00 1.25 1.50 1.75 2.00

特殊情况下,若需要生成重复某个值的数列,则可以使用rep函数,生成的数列重复其第一个参数值: > rep(pi, times=5) [1] 3.141593 3.141593 3.141593 3.141593 3.141593

0 人点赞