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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。