全称是Sequence Generation产生序列
生成规律的序列。seq是一个带有默认方法的标准泛型。seq.int是一个原语,它可以更快,但有一些限制。seq_along和seq_len是两种常见情况下非常快速的原语。
使用
seq(···)
Default S3 method:
seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)), length.out = NULL, along.with = NULL, ...)
seq.int(from, to, by, length.out, along.with, ...)
seq_along(along.with)
seq_len(length.out)
参数
参数 | 解释 |
---|---|
··· | 终止值或按S3 method来设置 |
from,to | 序列的开始和末尾值,长度为1,除非只是from作为未命名参数提供 |
by | 数量:序列的增量 |
length.out | 期望得到的序列长度。一个非负值,对 seq和seq.int,如果是小数则会被四舍五入 |
along.with | 从这个参数的长度中取长度。 |
规则
数值输入应该是有限的(即不是无限的,NaN或NA)。
对seq和seq.int的未命名参数的解释不是标准的,在编程时建议始终对参数命名。
seq是通用的,这里只描述了默认方法。注意,它对第一个参数的类进行分派,而不考虑参数名。如果只使用一个参数调用它,并打算将其继续执行,那么这可能会产生意想不到的后果along.with:在这种情况下,最好使用seq_along。
seq.int是一个内部泛型,它根据第一个提供参数的类(在参数匹配之前)分派"seq"的方法。
典型应用
1、seq(from, to)
图片.png2、seq(from, to, by= )
指定to - from和by的相反符号是错误的。请注意,计算的最终值可以超过to的值以便允许舍入误差,但是被截断到to的值。(没大懂呢)
图片.png
3、seq(from, to, length.out= )
length.out通常可以缩写为length或len,而且seq_len运算要快得多。
图片.png
seq(along.with= )
产生整数的序列1,2,…, length(along.with), (along.with通常可以缩写为along,而且seq_along要快得多。)
图片.png
4、seq(from)
生成序列1,2,…, length(from)(就像参数along.with被指定一样),除非参数是长度为1的数字则会被解释为1:from(即使seq(0)为了兼容S)。使用seq_along或seq_len是更可取的(除非严格的S兼容性是必需的)。
5、seq(length.out= )
生成整数序列1,2,…,length.out。除非length.out = 0 当它生成整数(0)时。
图片.png
网友评论