Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用apply解析两个data.frames[R]_R - Fatal编程技术网

使用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)