R语言
maxCol
位于 base
包(package)。 说明
找到矩阵每一行的最大位置,随机打破平局。
用法
max.col(m, ties.method = c("random", "first", "last"))
参数
m |
数值矩阵 |
ties.method |
指定如何处理关系的字符串,默认为 |
细节
当 ties.method = "random"
时,默认情况下,平局会随机断开。在这种情况下,平局的确定假定条目是概率:相对于行中最大的条目(在大小上,省略无穷大),存在 的相对容差。
如果ties.method = "first"
,max.col
返回的列号第一的每行有几个最大值,与unname(apply(m, 1, which.max))
如果m
没有缺失值。
相应地,ties.method = "last"
返回最后的可能有几个指数。
值
每行最大值的索引,长度为 nrow(m)
的整数向量。
例子
table(mc <- max.col(swiss)) # mostly "1" and "5", 5 x "2" and once "4"
swiss[unique(print(mr <- max.col(t(swiss)))) , ] # 3 33 45 45 33 6
set.seed(1) # reproducible example:
(mm <- rbind(x = round(2*stats::runif(12)),
y = round(5*stats::runif(12)),
z = round(8*stats::runif(12))))
## Not run:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
x 1 1 1 2 0 2 2 1 1 0 0 0
y 3 2 4 2 4 5 2 4 5 1 3 1
z 2 3 0 3 7 3 4 5 4 1 7 5
## End(Not run)
## column indices of all row maxima :
utils::str(lapply(1:3, function(i) which(mm[i,] == max(mm[i,]))))
max.col(mm) ; max.col(mm) # "random"
max.col(mm, "first") # -> 4 6 5
max.col(mm, "last") # -> 7 9 11
参考
Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. New York: Springer (4th ed).
也可以看看
which.max
用于向量。
相关用法
- R make.unique 使字符串唯一
- R matrix 矩阵
- R matmult 矩阵乘法
- R match 价值匹配
- R match.arg 使用部分匹配的参数验证
- R mat.or.vec 创建矩阵或向量
- R mapply 将函数应用于多个列表或向量参数
- R marginSums 计算表格边距
- R make.names 命名语法上有效的名称
- R match.call 参数匹配
- R match.fun 提取名称指定的函数
- R mtfrm 匹配辅助函数
- R merge 合并两个 DataFrame
- R missing 正式论证有价值吗?
- R mode 对象的(存储)模式
- R message 诊断信息
- R mean 算术平均值
- R memlimits 查询和设置堆大小限制
- R memCompress 内存中压缩和解压缩
- R memory.profile 分析 Cons 单元的使用情况
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Find Maximum Position in Matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。