當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。