ctr*_*brk 7 r matrix minimum correlation
我有一个像这样的矩阵:

实际上只有数百或数千个值.
我需要做的是返回每行的最小值,以及行/列名称.
因此,对于示例中的第1行"BAC",BAC/CSCO的最小值为0.92,因此我需要返回如下内容:
BAC/CSCO 0.92
然后对矩阵中的每一行重复此操作.
非常感谢协助.我认为应用是诀窍,但我无法得到正确的组合.
fot*_*ton 15
X <- matrix(runif(20), nrow=4)
rownames(X) <- paste0("foo", seq(nrow(X)))
colnames(X) <- paste0("bar", seq(ncol(X)))
result <- t(sapply(seq(nrow(X)), function(i) {
j <- which.min(X[i,])
c(paste(rownames(X)[i], colnames(X)[j], sep='/'), X[i,j])
}))
print(X)
print(result)
Run Code Online (Sandbox Code Playgroud)
会给你:
bar1 bar2 bar3 bar4 bar5
foo1 0.2085419 0.6290522 0.12730378 0.17775105 0.3239684
foo2 0.8061464 0.7948392 0.09330563 0.06698921 0.5557932
foo3 0.1790950 0.7788139 0.35787944 0.39117325 0.2578457
foo4 0.9099254 0.4048508 0.54791272 0.38674301 0.3272156
Run Code Online (Sandbox Code Playgroud)
和
[,1] [,2]
[1,] "foo1/bar3" "0.127303782384843"
[2,] "foo2/bar4" "0.0669892099685967"
[3,] "foo3/bar1" "0.179094966035336"
[4,] "foo4/bar5" "0.327215566998348"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12991 次 |
| 最近记录: |