rep
位於 base
包(package)。 說明
rep
複製 x
中的值。它是一個通用函數,(內部)默認方法在此處說明。
rep.int
和 rep_len
是兩種常見情況的更快簡化版本。在內部,它們是通用的,因此可以為它們定義方法(參見InternalMethods)。
用法
rep(x, ...)
rep.int(x, times)
rep_len(x, length.out)
參數
x |
向量(包括 |
... |
要傳遞給其他方法或從其他方法傳遞的更多參數。對於內部默認方法,這些可以包括:
|
times, length.out |
請參閱上麵的 |
細節
默認行為就好像調用是
rep(x, times = 1, length.out = NA, each = 1)
。通常隻指定一個附加參數,但如果使用其他兩個參數之一指定了 each
,則首先執行其複製,然後執行 times
或 length.out
所暗示的複製。
如果 times
由單個整數組成,則結果由重複多次的整個輸入組成。如果 times
是與 x
長度相同的向量(經過 each
複製後),則結果由 x[1]
重複 times[1]
次、x[2]
重複 times[2]
次等組成。
length.out
可以代替 times
,在這種情況下, x
會根據創建此長度的向量所需的次數重複。如果兩者都給出,則 length.out
優先,times
被忽略。
times
的非整數值將被截斷為零。如果 times
是計算量,則謹慎添加小模糊或使用 round
。類似地,each
。
如果 x
的長度為零,並且提供了 length.out
並且為正數,則使用提取規則填充這些值,即通過原子向量的適當類的 NA
(原始向量為 0
)和NULL
列表。
值
與 x
類型相同的對象。
rep.int
和 rep_len
不返回任何屬性(如果返回因子,則類除外)。
如果 x
有名稱,則 rep
的默認方法會給出結果名稱(幾乎總是包含重複項),但不保留其他屬性。
注意
函數 rep.int
是一個簡單的情況,它作為單獨的函數提供,部分是為了 S 兼容性,部分是為了速度(特別是當可以刪除名稱時)。此後,rep
的性能得到了改進,但當 x
有名稱時,rep.int
的速度仍然至少是原來的兩倍。
名稱rep.int
long 先於使rep
通用。
函數 rep
是一個原語,但參數名稱的(部分)匹配與普通函數一樣執行。
由於曆史原因,rep
(僅)適用於NULL
:即使length.out
為正,結果也始終為NULL
。
盡管從未有過記錄,但這些函數始終適用於 expression 向量。
例子
rep(1:4, 2)
rep(1:4, each = 2) # not the same.
rep(1:4, c(2,2,2,2)) # same as second.
rep(1:4, c(2,1,2,1))
rep(1:4, each = 2, length.out = 4) # first 4 only.
rep(1:4, each = 2, length.out = 10) # 8 integers plus two recycled 1's.
rep(1:4, each = 2, times = 3) # length 24, 3 complete replications
rep(1, 40*(1-.8)) # length 7 on most platforms
rep(1, 40*(1-.8)+1e-7) # better
## replicate a list
fred <- list(happy = 1:10, name = "squash")
rep(fred, 5)
# date-time objects
x <- .leap.seconds[1:3]
rep(x, 2)
rep(as.POSIXlt(x), rep(2, 3))
## named factor
x <- factor(LETTERS[1:4]); names(x) <- letters[1:4]
x
rep(x, 2)
rep(x, each = 2)
rep.int(x, 2) # no names
rep_len(x, 10)
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
相關用法
- R replace 替換向量中的值
- R readRenviron 從文件設置環境變量
- R remove 從指定環境中刪除對象
- R readChar 與連接之間傳輸字符串
- R readRDS 單個對象的序列化接口
- R reg.finalizer 對象的最終確定
- R rev 反轉元素
- R regmatches 提取或替換匹配的子字符串
- R readline 從終端讀取一行
- R readBin 與連接之間傳輸二進製數據
- R readLines 從連接讀取文本行
- R rank 樣本排名
- R rapply 遞歸地將函數應用於列表
- R raw 原始向量
- R rawConnection 原始連接
- R row 行索引
- R row.names 獲取和設置 DataFrame 的行名稱
- R rowsum 根據分組變量給出矩陣或 DataFrame 的列和
- R range 值範圍
- R rle 遊程長度編碼
- R round.POSIXt 舍入/截斷日期時間對象
- R rawConversion 與(位/打包)原始向量之間的轉換
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Replicate Elements of Vectors and Lists。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。