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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。