1

我有一个这样的数据框:

row   col
1     1
1     50
1     55
2     75

我想选择所有配对的行和列值,以便我可以将它们插入到函数中。

我正在尝试这段代码:

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)
 }
}

这是像我想要的那样从我的 df 插入所有 myrowcol值,但它正在做它们的每一种可能的组合,我只想插入适当的配对。例如, 1 应该只与,和作为对应的, notrow配对。15055col75

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

4

1 回答 1

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])
于 2017-03-27T00:42:15.833 回答