您的位置:首页 > 其它

R,生成连续序列,生成重复序列,seq,rep

2018-03-02 11:28 3399 查看
转自:https://book.2cto.com/201305/21949.html

问题
如何生成一个数列。
解决方案
使用表达式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
另请参阅
若需要生成日期型格式的数列,请参见方法7.14。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: