use*_*441 2 r matrix mean median
我有一个大矩阵,像这样一个:
NCols=100
NRows=100
myMat<-matrix(runif(NCols*NRows), ncol=NCols)
Run Code Online (Sandbox Code Playgroud)
我感兴趣的是找到哪个行和列具有与矩阵的所有值的均值或中值最接近的值,计算方法如下mean(myMat)
.
我怎么能这样做R
?
试试这个:
set.seed(45) # just for reproducibility
NCols <- 100
NRows <- 100
myMat <- matrix(runif(NCols*NRows), ncol=NCols)
mat_minus_mean <- abs(myMat - mean(myMat))
idx <- which(mat_minus_mean == min(mat_minus_mean), arr.ind = TRUE)
# row col
# [1,] 5 33
> myMat[idx]
# [1] 0.5012305 # mean(myMat) is 0.5012474
Run Code Online (Sandbox Code Playgroud)