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