当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R seq 序列生成


R语言 seq 位于 base 包(package)。

说明

生成规则序列。 seq 是具有默认方法的标准泛型。 seq.int 是一个原语,速度更快,但有一些限制。对于两种常见情况,seq_alongseq_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)

参数

...

传递给方法或从方法传出的参数。

from , to

序列的起始值和(最大)结束值。长度为1,除非仅将from 作为未命名参数提供。

by

number:序列的增量。

length.out

所需的序列长度。非负数,对于 seqseq.int,如果有小数,则向上舍入。

along.with

从此参数的长度中获取长度。

细节

数字输入应全部为 finite (即不是无限、 NaNNA )。

seqseq.int 未命名参数的解释不标准,建议在编程时始终为参数命名。

seq 是通用的,这里只说明默认方法。请注意,无论参数名称如何,它都会分派第一个参数的类。如果仅使用一个参数调用它并打算将其视为 along.with ,则可能会产生意想不到的后果:在这种情况下,最好使用 seq_along

seq.intinternal generic,它根据第一个提供的参数的类(在参数匹配之前)调度 "seq" 的方法。

典型用法是

seq(from, to)
seq(from, to, by= )
seq(from, to, length.out= )
seq(along.with= )
seq(from)
seq(length.out= )

第一种形式生成序列 from, from+/-1, ..., to (与 from:to 相同)。

第二种形式生成 from, from+by ,...,直到序列值小于或等于 to 。指定符号相反的 to - fromby 是错误的。请注意,计算的最终值可能会超出 to 以允许舍入误差,但会被截断为 to 。 (“刚刚超出”最多为 乘以 abs(from - to)。)

第三个生成从 fromtolength.out 等间隔值序列。 ( length.out 通常缩写为 lengthlen ,而 seq_len 速度要快得多。)

第四种形式生成整数序列1, 2, ..., length(along.with)。 ( along.with 通常缩写为 along ,而 seq_along 更快。)

第五种形式生成序列1, 2, ..., length(from)(就好像已指定参数along.with),除非参数在解释为1:from时长度为1的数字(即使是seq(0),以与S兼容)。首选使用 seq_alongseq_len(除非严格的 S 兼容性是必需的)。

最终形式在生成 integer(0) 时生成整数序列 1, 2, ..., length.out ,除非 length.out = 0

非常小的序列(其中 from - to 的顺序为 乘以较大端数)将返回 from

对于seq(仅限),只要指定length.outalong.with,最多可以提供fromtoby 中的两个作为复数值。更一般地说, seq 的默认方法将使用 MathOpsSummary 组泛型的方法来处理类对象。

seq.intseq_alongseq_lenprimitive

seq.int 和数字参数的 seq 的默认方法返回 "integer""double" 类型的向量:程序员不应依赖其中。

seq_alongseq_len返回一个整数向量,除非它是长向量当它会是双倍的时候。

例子

seq(0, 1, length.out = 11)
seq(stats::rnorm(20)) # effectively 'along'
seq(1, 9, by = 2)     # matches 'end'
seq(1, 9, by = pi)    # stays below 'end'
seq(1, 6, by = 3)
seq(1.575, 5.125, by = 0.05)
seq(17) # same as 1:17, or even better seq_len(17)

参考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

也可以看看

方法 seq.Dateseq.POSIXt

:repsequencerowcol

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Sequence Generation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。