which
位于 base
包(package)。 说明
给出逻辑对象的 TRUE
索引,允许数组索引。
用法
which(x, arr.ind = FALSE, useNames = TRUE)
arrayInd(ind, .dim, .dimnames = NULL, useNames = FALSE)
参数
x |
|
arr.ind |
逻辑性;当 |
ind |
整数值索引向量,由 |
.dim |
|
.dimnames |
可选字符列表 |
useNames |
逻辑指示 |
值
如果arr.ind == FALSE
(默认值),整数向量,或双向量,如果x
是一个长向量, 和length
等于sum(x)
,即到TRUE
输入x
.
本质上,典型情况下的结果是(1:length(x))[x]
;更一般地说,包括当 x
具有 NA
时,which(x)
是 seq_along(x)[!is.na(x) & x]
加上 names
(当 x
具有时)。
如果 arr.ind == TRUE
和 x
是 array
(具有 dim
属性),则结果为 arrayInd(which(x), dim(x), dimnames(x))
,即一个矩阵,其每行都是 x
的一个元素的索引;请参阅下面的示例。
注意
与大多数其他基地不同R这不强制的函数x
逻辑:仅参数typeof
逻辑被接受,其他则给出错误。
例子
which(LETTERS == "R")
which(ll <- c(TRUE, FALSE, TRUE, NA, FALSE, FALSE, TRUE)) #> 1 3 7
names(ll) <- letters[seq(ll)]
which(ll)
which((1:12)%%2 == 0) # which are even?
which(1:10 > 3, arr.ind = TRUE)
( m <- matrix(1:12, 3, 4) )
div.3 <- m %% 3 == 0
which(div.3)
which(div.3, arr.ind = TRUE)
rownames(m) <- paste("Case", 1:3, sep = "_")
which(m %% 5 == 0, arr.ind = TRUE)
dim(m) <- c(2, 2, 3); m
which(div.3, arr.ind = FALSE)
which(div.3, arr.ind = TRUE)
vm <- c(m)
dim(vm) <- length(vm) #-- funny thing with length(dim(...)) == 1
which(div.3, arr.ind = TRUE)
作者
Werner Stahel and Peter Holzer (ETH Zurich) proposed the
arr.ind
option.
也可以看看
Logic
、 which.min
表示最小值或最大值的索引,match
表示向量中元素的第一个索引,即,对于标量 a
, match(a, x)
等效于 min(which(x == a))
但效率更高。
相关用法
- R which.min Min() 或 Max() 或第一个 TRUE 或 FALSE 在哪里?
- R warning 警告信息
- R with 评估数据环境中的表达式
- R weekdays 提取 POSIXt 或日期对象的部分内容
- R write 将数据写入文件
- R writeLines 将行写入连接
- R withVisible 返回值及其可见性
- R warnings 打印警告消息
- 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 rapply 递归地将函数应用于列表
- R basename 操作文件路径
- R formals 访问和操纵形式参数
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Which indices are TRUE?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。