sequence of numbers
运算符:
可以用生成一组序列数值向量,用法是from:to
,步长是1,可以从大到小,也可从小到大,还可以是实数。其中生成的数值x
需满足from≤x≤to
,或者to≤x≤from
> 1:10
[1] 1 2 3 4 5 6 7 8 9 10
> 10:1
[1] 10 9 8 7 6 5 4 3 2 1
> pi:10 # pi为圆周率
[1] 3.141593 4.141593 5.141593 6.141593 7.141593 8.141593 9.141593
> 10:pi
[1] 10 9 8 7 6 5 4
使用?
也可以查询符号的相关文档,如:
的用法,不过需要用反引号或者引号引起来
> ?`:`
> ?':'
函数seq()
除有和:
的功能,还有其它功能。可以使用?
查询。
参数'by'可以指定步长数值,
参数'length.out'可以指定想要生成的向量长度,
参数'along.with'可以获取该传入参数值的长度来作为生成函数生成序列的长度,类似的功能还有一个专门的内置函数seq_along()
来实现。通常若一个专门的内置函数来实现某一功能,则该函数都是被高度优化过的~
> seq(1, 10)
[1] 1 2 3 4 5 6 7 8 9 10
> seq(1, 5, by = 0.5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
> seq(1, 5, length.out = 9)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
> seq(1, 5, along.with = seq(1,9))
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
> seq(1, 5, along.with = c(1,1,1))
[1] 1 3 5
> seq_along(c(1,1,1))
[1] 1 2 3
函数rep()
可以创造指定重复次数的元素的向量。
参数'x'用于指定需要重复的元素。
参数'times'用于指定重复次数,
参数'each',指'x'的每个元素重复的次数,
参数'length.out'可以指定想要生成的向量长度,
> rep(x = 1, times = 5) # 可省略参数名x
[1] 1 1 1 1 1
> rep(c(1,2,3), times = 3)
[1] 1 2 3 1 2 3 1 2 3
> rep(c(1,2,3), times = 3, each = 2)
[1] 1 1 2 2 3 3 1 1 2 2 3 3 1 1 2 2 3 3
> rep(c(1,2,3), times = 3, each = 2, length.out=5)
[1] 1 1 2 2 3