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