unique
位於 base
包(package)。 說明
unique
返回一個向量、數據幀或數組,類似於 x
,但刪除了重複的元素/行。
用法
unique(x, incomparables = FALSE, ...)
## Default S3 method:
unique(x, incomparables = FALSE, fromLast = FALSE,
nmax = NA, ...)
## S3 method for class 'matrix'
unique(x, incomparables = FALSE, MARGIN = 1,
fromLast = FALSE, ...)
## S3 method for class 'array'
unique(x, incomparables = FALSE, MARGIN = 1,
fromLast = FALSE, ...)
參數
x |
向量或 DataFrame 或數組或 |
incomparables |
無法比較的值向量。 |
fromLast |
邏輯指示是否應從最後一個考慮重複,即,將保留最後一個(或最右邊)的相同元素。這僅對 |
nmax |
預期的唯一項目的最大數量(大於 1)。請參閱 |
... |
特定方法的參數。 |
MARGIN |
要保持固定的數組邊距:單個整數。 |
細節
unique()
是一個通用函數,具有向量、數據幀和數組(包括矩陣)的方法。
如果剩餘維度與較早元素的維度相同(按行優先順序),則數組方法將計算 MARGIN
指定維度的每個元素。這最常用於矩陣查找唯一的行(默認)或列(使用 MARGIN = 2
)。
請注意,與 Unix 命令 uniq
不同,它省略了重複的元素/行,而不僅僅是重複的元素/行。也就是說,如果某個元素等於任何前一個元素,而不僅僅是等於前一個元素,則該元素將被省略。 (對於後者,請參閱rle
)。
缺失值 ( "NA"
) 被視為等於、數字和複數,與 NaN
不同;字符串將在“common encoding”中進行比較;有關詳細信息,請參閱使用相同概念的match
(和duplicated
)。
incomparables
中的值永遠不會被標記為重複。這旨在用於相當小的值集,但對於非常大的值集則效率不高。
當在具有多於一列的 DataFrame 上使用時,或者在比較長度大於一的維度時在數組或矩陣上使用時,這會測試字符表示的同一性。這會抓住那些不明智地依賴浮點數完全相等的人!
值
對於向量,是與 x
類型相同的對象,但每個重複元素隻有一個副本。不複製任何屬性(因此結果沒有名稱)。
對於 DataFrame ,返回的 DataFrame 具有相同的列,但可能更少的行(並且行名稱來自唯一行的第一次出現)。
矩陣或數組由 [, drop = FALSE]
進行子集化,因此維度和維度名稱會被適當複製,並且結果始終具有與 x
相同的維度數。
警告
將其用於列表可能會很慢,特別是如果元素不是原子向量(請參閱vector
)或僅在屬性上有所不同。最壞的情況是 。
例子
x <- c(3:5, 11:8, 8 + 0:5)
(ux <- unique(x))
(u2 <- unique(x, fromLast = TRUE)) # different order
stopifnot(identical(sort(ux), sort(u2)))
length(unique(sample(100, 100, replace = TRUE)))
## approximately 100(1 - 1/e) = 63.21
unique(iris)
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
duplicated
給出重複元素的索引。
rle
相當於 Unix uniq -c
命令。
相關用法
- R units 單位
- R unlist 展平列表
- R unlink 刪除文件和目錄
- R unname 刪除名稱或暗名稱
- R userhooks 獲取和設置加載、附加、分離和卸載鉤子的函數
- R utf8Conversion 將整數向量與 UTF-8 編碼的字符向量相互轉換
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R lapply 對列表或向量應用函數
- R dump R 對象的文本表示
- R Sys.getenv 獲取環境變量
- R rank 樣本排名
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
- R pushBack 將文本推回連接
- R strsplit 分割字符向量的元素
- R seq.Date 生成規則的日期序列
- R invisible 將打印模式更改為不可見
- R noquote “無引號”字符串打印類
- R warning 警告信息
- R rapply 遞歸地將函數應用於列表
- R basename 操作文件路徑
- R with 評估數據環境中的表達式
- R formals 訪問和操縱形式參數
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Extract Unique Elements。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。