从数据框中选择数字对

时间:2017-03-27 00:16:53

标签: r rhdf5

我有一个这样的数据框:

row   col
1     1
1     50
1     55
2     75

我想选择所有配对的row和col值,这样我就可以将它们插入到函数中。

我正在尝试这段代码:

library(rhdf5)

 for(row in df$row){

  for (col in df$col){

      apixel = h5read("C/path_to_a_file',, index=list(1, col, row))
      apixel= data.frame(apixel)
 }
}

这是我想要的所有rowcol值插入我的df,但它正在做各种可能的组合我只想插入适当的配对。例如,row 1只应与15055配对作为对应的col,而不是75

可能我可以尝试压缩两列,然后返回相关的元组?

1 个答案:

答案 0 :(得分:2)

第一步:编写函数,使其接受(row,col)对作为参数:

read_pixels <- function(row, col) {
  require(rhdf5)
  apixel <- h5read("C/path_to_a_file',, index=list(1, col, row))
  apixel <- data.frame(apixel)

  # do something with apixel
}

现在您可以将数据框的每一行传递给您的函数。有很多方法可以做到这一点,这是一个使用apply的丑陋的方法:

apply(myDataFrame, 1, function(x) read_pixels(x[1], x[2])