我有一个文件在hdf5
格式。我知道它应该是一个矩阵,但我想在其中读取该矩阵R
这样我就可以研究它。我看到有一个h5r
包应该有助于解决这个问题,但我没有看到任何简单易读/理解的教程。网上有这样的教程吗?具体来说,你如何阅读hdf5
这个包的对象,以及如何实际提取矩阵?
UPDATE
我发现了一个包裹rhdf5
它不是 CRAN 的一部分,而是 BioConductoR 的一部分。界面相对更容易理解,文档和示例代码也很清晰。我可以毫无问题地使用它。我的问题似乎是输入文件。我想要读取的矩阵实际上存储在hdf5
文件为python pickle
。所以每次我尝试打开它并通过R
我有一个segmentation fault
。我确实弄清楚了如何从内部保存矩阵python
as a tsv
文件,现在问题已经解决了。
The rhdf5
包工作得很好,尽管它不在 CRAN 中。从安装它生物导体 http://bioconductor.org/packages/release/bioc/html/rhdf5.html
# as of 2020-09-08, these are the updated instructions per
# https://bioconductor.org/install/
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("rhdf5")
并使用它:
library(rhdf5)
列出文件中的对象以查找要读取的数据组:
h5ls("path/to/file.h5")
读取HDF5数据:
mydata <- h5read("path/to/file.h5", "/mygroup/mydata")
And 检查结构 http://stat.ethz.ch/R-manual/R-devel/library/utils/html/str.html:
str(mydata)
(注意多维数组可能会出现转置 https://stackoverflow.com/questions/18359783/r-hdf5-dataset-written-incorrectly)。您还可以读取组,这些组将在 R 中命名为列表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)