R 如何从给定行的数据帧中提取数千个单元格&;列号?

R 如何从给定行的数据帧中提取数千个单元格&;列号?,r,R,我有一个数据帧col,我正在从中提取单元格。我有行数和列数的向量(crgbrow和crgbcol,都是2000长),我用来尝试获取单元格 colors = cols[crgbrow, crgbcol] 我这样做了,R给了我一个巨大的数据帧,当时我只想从cols得到2000个单元格值。我如何解决这个问题?我是否应该使用for循环来执行此操作?使用cbind,这样您就可以一次访问一个元素 cols[cbind(crgbrow, crgbcol)] 使用可再现的示例: cols <- mtc

我有一个数据帧
col
,我正在从中提取单元格。我有行数和列数的向量(
crgbrow
crgbcol
,都是2000长),我用来尝试获取单元格

colors = cols[crgbrow, crgbcol]

我这样做了,R给了我一个巨大的数据帧,当时我只想从cols得到2000个单元格值。我如何解决这个问题?我是否应该使用for循环来执行此操作?

使用
cbind
,这样您就可以一次访问一个元素

cols[cbind(crgbrow, crgbcol)]
使用可再现的示例:

cols <- mtcars
crgbrow <- c(2, 4)
crgbcol <- c(1, 5)
您将得到第二行、第一列和第五列以及第四行、第一列和第五列。如果你
cbind
向量,你会得到你想要的

cols[cbind(crgbrow, crgbcol)]
#[1] 21.00  3.08
cols[cbind(crgbrow, crgbcol)]
#[1] 21.00  3.08