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

转自: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。

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值