2021-02-27seq函数学习

2021-02-27  本文已影响0人  八段锦1134

全称是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)
图片.png
2、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兼容性是必需的)。

图片.png
5、seq(length.out= )

生成整数序列1,2,…,length.out。除非length.out = 0 当它生成整数(0)时。


图片.png
上一篇 下一篇

猜你喜欢

热点阅读