我有一个这样的数据框:
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)
}
}
这是我想要的所有row
和col
值插入我的df,但它正在做各种可能的组合我只想插入适当的配对。例如,row
1只应与1
,50
和55
配对作为对应的col
,而不是75
。
可能我可以尝试压缩两列,然后返回相关的元组?
答案 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])