2
我有一個大的矩陣,像這樣的:如何找到與其平均值最接近的矩陣的行和列? R中
NCols=100
NRows=100
myMat<-matrix(runif(NCols*NRows), ncol=NCols)
我感興趣的定位其中的行和列具有最接近值的平均值或矩陣,如mean(myMat)
計算的所有值的中位數。
我怎麼能這樣做R
?
我有一個大的矩陣,像這樣的:如何找到與其平均值最接近的矩陣的行和列? R中
NCols=100
NRows=100
myMat<-matrix(runif(NCols*NRows), ncol=NCols)
我感興趣的定位其中的行和列具有最接近值的平均值或矩陣,如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.5# mean(myMat) is 0.5012474
我會改變的東西更像是'M < - which.min(ABS(myMat - 均值(myMat))); arrayInd(m,dim(myMat))'。速度應該更快,而且你不必擔心浮點運算是否會造成混亂。 – 2013-03-11 20:07:47