使用apply解析两个data.frames[R]
我正在寻找一种简单的方法来矢量化一个操作,该操作采用向量的顺序值,并将其用作给定列的索引。例如:使用apply解析两个data.frames[R],r,R,我正在寻找一种简单的方法来矢量化一个操作,该操作采用向量的顺序值,并将其用作给定列的索引。例如: dataf <- replicate(10, sample(0:100,10,rep=TRUE)) > dataf [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 11 70 31 46 55 7 87 12 93 16 [2,] 62 55 30
dataf <- replicate(10, sample(0:100,10,rep=TRUE))
> dataf
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 11 70 31 46 55 7 87 12 93 16
[2,] 62 55 30 26 65 31 4 90 47 90
[3,] 61 28 16 30 31 72 32 1 14 13
[4,] 62 93 4 51 62 50 1 79 54 13
[5,] 86 29 22 18 33 15 24 9 19 10
[6,] 64 84 81 76 50 50 71 52 90 51
[7,] 0 28 53 20 68 49 31 38 39 30
[8,] 23 26 92 26 48 75 51 7 31 2
[9,] 67 18 83 100 24 17 5 32 16 31
[10,] 51 23 4 81 77 85 57 67 90 74
ind <- c(1:10)
我希望结果是一个向量:
> result
[1] 11 55 16 51 33 50 31 7 16 74
我希望避免使用循环——有没有任何方法可以使用矢量化方法来实现这一点
谢谢,,
你想要什么
dataf[cbind(1:10, ind)]
当然,如果你真的想要对角线,你可以这样做
diag(dataf)
但是我假设你的ind
值并不总是连续的
diag(dataf)