我正在使用rhdf5库。我想一次阅读许多文件。 我在文件夹输入中有我的.h5文件,然后我就是:
filenames <- list.files("input", pattern="*.h5", full.names=TRUE)
read_h5<- function(file) {h5read(file, "/datasets/data1/data0")}
for (i in 1:length(filenames)) {
read_h5(filenames[i])
}
它没有显示任何错误。只是我执行它,没有任何反应。
我也试过lapply(filenames,h5read(filenames,name="/datasets/data1/data0"),.GlobalEnv)
但在这里我收到一个错误:&#34;条件有长度&gt; 1,只使用第一个元素&#34;。
为什么它无效?
答案 0 :(得分:0)
如果有人遇到类似问题,我会与您分享我如何处理此问题。不幸的是,我不得不改变一点尝试。
我在R中的脚本看起来像这样(test.R):
library(rhdf5)
args <- commandArgs(trailingOnly = TRUE)
filename <- args[1]
output<-args[2]
my_data<-h5read(filename, "/datasets/data1/data0")
write.table(my_data, file=output, row.names=FALSE, col.names=FALSE)
后来,我写了一个bash脚本:
#!/bin/bash
for file in input/*.h5; do
[ -f "$file" ] || continue
beg="${file%%.*}";
Rscript test.R "$file" "$beg".txt
done
这对我有用!