seq
位于 base
包(package)。 说明
生成规则序列。 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)
参数
... |
传递给方法或从方法传出的参数。 |
from , to |
序列的起始值和(最大)结束值。长度为 |
by |
number:序列的增量。 |
length.out |
所需的序列长度。非负数,对于 |
along.with |
从此参数的长度中获取长度。 |
细节
数字输入应全部为 finite (即不是无限、 NaN
或 NA
)。
seq
和 seq.int
未命名参数的解释不标准,建议在编程时始终为参数命名。
seq
是通用的,这里只说明默认方法。请注意,无论参数名称如何,它都会分派第一个参数的类。如果仅使用一个参数调用它并打算将其视为 along.with
,则可能会产生意想不到的后果:在这种情况下,最好使用 seq_along
。
seq.int
是 internal 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 -
from
和 by
是错误的。请注意,计算的最终值可能会超出 to
以允许舍入误差,但会被截断为 to
。 (“刚刚超出”最多为 乘以 abs(from - to)
。)
第三个生成从 from
到 to
的 length.out
等间隔值序列。 ( length.out
通常缩写为 length
或 len
,而 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_along
或 seq_len
(除非严格的 S 兼容性是必需的)。
最终形式在生成 integer(0)
时生成整数序列 1, 2, ...,
length.out
,除非 length.out = 0
。
非常小的序列(其中 from - to
的顺序为 乘以较大端数)将返回 from
。
对于seq
(仅限),只要指定length.out
或along.with
,最多可以提供from
、to
和by
中的两个作为复数值。更一般地说, seq
的默认方法将使用 Math
、 Ops
和 Summary
组泛型的方法来处理类对象。
seq.int
、seq_along
和 seq_len
是primitive。
值
seq.int
和数字参数的 seq
的默认方法返回 "integer"
或 "double"
类型的向量:程序员不应依赖其中。
seq_along
和seq_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.Date
和 seq.POSIXt
。
相关用法
- R seq.Date 生成规则的日期序列
- R sequence 创建序列向量
- R seq.POSIXt 生成规则的时间序列
- R search 给出 R 对象的搜索路径
- R seek 重新定位连接的函数
- R serialize 简单的序列化接口
- R setTimeLimit 设置 CPU 和/或运行时间限制
- R sets 设置操作
- R strsplit 分割字符向量的元素
- R solve 求解方程组
- R scan 读取数据值
- R sprintf 使用 C 风格字符串格式化命令
- R stop 停止函数执行
- R sign 标志函数
- R svd 矩阵的奇异值分解
- R strtoi 将字符串转换为整数
- R source 从文件、连接或表达式中读取 R 代码
- R sQuote 引用文字
- R switch 选择替代方案列表之一
- R substitute 替换和引用表达式
- R strrep 重复字符向量的元素
- R split 分组并重新集合
- R slice.index 数组中的切片索引
- R sort 对向量进行排序或排序
- R standardGeneric 形式化方法系统 – 调度 S4 方法
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Sequence Generation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。