问题标签 [rhdf5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
168 浏览

r - 我们如何使用 RHDF5 包为 HDF5 文件中的数据集提供无限维度?

虽然它可能看起来类似于一个已经存在的问题:is-it-possible-to-update-dataset-dimensions-in-hdf5-file-using-rhdf5-in-r但它们并不完全相同。

在 RHDF5 文档中,我们可以定义在使用 h5createDataset()(使用 maxdims 参数)创建数据集时数据集可以具有的最大维度。但是,如果我们事先不知道数据集的维度怎么办,例如我们可能会遇到数据集的大小不断增加的情况,因此我们不知道数据集可以达到的最大维度。

在上面提到的问题的答案中,提到它可以在数据空间和 HDF5 常量的帮助下完成。

谁能提供一些关于如何使用 HDF5 常量和数据空间来做到这一点的想法?

0 投票
0 回答
481 浏览

r - R中的rhdf5库:使用h5ls读取文件

我想在 R 中读取 hdf5 文件,但我似乎无法让它工作。我得到的错误是:

H5Fopen 中的错误(文件,“H5F_ACC_RDONLY”):HDF5. 文件可访问性。无法打开文件。

其中 h5ls 是 rhdf5 中的方法, tsdatabase_path 是 hdf5 文件。我查看了这个相关的问题,但解决方案不起作用:

使用 python 的 h5py 包读取 hdf 文件时出错

我将 hdf5 文件权限更改为-rwxrwxrwx. 我还检查了是否已经加载了 hdf5 程序,我在 README.txt 中找到了这个,downloadHDf5它是 rhdf5 包的一部分:

“rhdf5 软件包将包含 HDF5 C 库的完整安装。无需从 HDF5 进一步下载。”

我的 R 版本是3.3.0,我的 rhdf5 版本是rhdf5_2.16.0

0 投票
0 回答
35 浏览

r - 用 R 读取 h5 后缺少 DatetimeIndex

我有一个 .h5 文件,当在 python 中使用 pandas 打开时,它看起来像这样:

  • < 类 'pandas.core.frame.DataFrame' >
  • DatetimeIndex:3641767 个条目,2016-02-27 10:23:52 到 2016-03-18 17:39:52
  • 数据列(共10列):

抄送...

现在,我尝试使用rhdf5包将它导入 R 中,但DatetimeIndex似乎不存在 - 例如使用h5ls命令来可视化结构。

你能帮我找到吗?

谢谢

0 投票
1 回答
1580 浏览

r - 如何避免打印/显示消息

以前有人问过这个问题,但没有一个答案对我有用。

我正在使用来自 bioconductor.org 的库rhdf5来读取 HDF5 文件: source(" http://bioconductor.org/biocLite.R "); biocLite("rhdf5"); 图书馆(rhdf5);

当我使用h5read函数读取包含引用的特定变量时,将打印以下警告消息:

“警告:'REFERENCE' 类型的 h5read 尚未实现。值已替换为 NA”

(它不像 RStudio 中的错误和警告那样以红色显示。只是黑色)

警告对我来说没问题,因为我不需要这些参考。但是我使用这个函数来读取数百个变量,所以我的屏幕被这些消息污染了。例如:

我已经尝试了我找到的所有建议(capture.output、suppressMessage/Warning、sink、options(warn、max.print、show.error.messages):

  1. capture.output(a <- h5read(f, "/#Link2#"), file='/dev/null')
  2. 我还尝试了隐形以防万一:invisible(capture.output(a <- h5read(f, "/#Link2#"), file='/dev/null'))
  3. suppressWarnings(suppressMessages(a <- h5read(f, "/#Link2#")))
  4. 我也试过了suppressForeignChecksuppressPackageStartupMessages以防万一
  5. {sink("/dev/null"); a <-h5read(f, "/#Link2#"); sink()}
  6. {options(warn=-1, max.print=1,show.error.messages=FALSE); a <-h5read(f, "/#Link2#") }

它们都不断产生相同的警告信息。

有谁知道我可能会尝试的任何其他事情,或者为什么这些事情不起作用?

图书馆如何设法打印跳过所有这些的消息?听起来我可能做错了什么......

任何帮助表示赞赏。

正如参考这些是我使用的其他帖子:

0 投票
1 回答
373 浏览

r - 如何使用字符串作为变量名从 hdf5 文件中保存变量?

我有一个带有多个变量的 hdf5 文件,我想将这些变量自动存储在列表或矩阵中。

我可以通过键入访问文件中的任何变量

现在我想使用循环将所有变量保存到内存中。就像是

我试过assign()、eval()、as.name(),它们都不起作用,但我无法将它们保存到另一个变量中。但是,如果我输入 myvar=file$AGB_CO 它可以工作。如何实施?

0 投票
1 回答
358 浏览

r - 使用 R 获取 HDF5 对象内对象的列名

我创建了一个虚拟 HDF5 对象作为

现在,我只想检索对象的列名,df_A而不df_B读取整个文件rhd5file.h5。可能吗?

我试过h5readAttributes()and h5ls(),但没有一个在不读取整个对象的情况下显示列名

所需输出:

0 投票
1 回答
522 浏览

r - 如何在 R 中读取多个文件并从中创建单个数据框?

客观的

我在一个文件夹中有 100 个 hdf5 文件。对于可重现的示例,让我们仅考虑 2 个文件,即:

每个 hdf5 文件包含 2 个组,data并且frame. 我想从data组中提取 2 个对象。这些被称为VDS_Veh_SpeedVDS_Chassis_CG_Position。同样,在frame组中有 3 个对象。只有对象frame在该组中是相关的。
我想阅读这些文件并提取上述相关变量。

我尝试了什么:

现在,因为我拥有全局环境中的所有文件,所以我删除了额外的对象,只保留了新的 dfs:

最后,我列出了环境中的 dfs,然后创建了一个数据框:

这对我有用。但是,正如评论中提到的,assign应该避免。此外,我必须手动使用rm(),否则此代码将无法工作。assign在这种情况下 有什么办法可以避免吗?

如果您需要数据文件,这里是上述 2 的链接: https ://1drv.ms/f/s!AsMFpkDhWcnw6g7StJp9dzZ-nCr4

0 投票
0 回答
49 浏览

r - 如何分配比 R 中的内存更大的数据集?

我有一个外部应用程序(非 R),其输入是包含密集数据立方体的 HDF5 文件。我希望在 R 中生成数据。

在 R 中创建 HDF5 数据集的正常方法如下:

`

如果有足够的内存可以创建data,则此方法有效,但在数据较大时无效。如果我可以先创建 DataSet,我可以在切片中创建数据,因此可以将其写入文件。

为了尝试创建数据集,我做

然而,R 拒绝这种说法

无法为签名“H5File”、“character”、“numeric”、“character”、“numeric”、“missing”、“missing”、“missing”找到函数“createDataSet”的继承方法

文档中的调用签名表明“维度”不是一个向量,而是一个整数——也许是指定维度的数量。我已经尝试过其他调用签名并得到不匹配——也许 H5File 不是 CommonFG 类型,尽管 CommonFG 是 H5File 的父类。

0 投票
1 回答
1384 浏览

r - R日期原点的时间(以秒为单位)

自工作开始(00:00h UTC)以来,我每天都有一个以秒为单位的时间序列。因为我想绘制其他数据的时间序列,所以我想以秒为单位将时间序列转换为日期。所有数据都来自使用包 rhdf5 读取的 hdf5 文件

然后我尝试了 as.POSIXct 来构建一个数据框(稍后与 ggplot2 一起使用)。

问题来自“temps”的第一个值

1 1960-01-01 01:00:00

但它应该是 1960-01-01 00:00:00,因为这是提供的原点,“tiempo”的第一个值为 0。似乎每次都增加了一个小时。

也许我在设置原点时遗漏了一些东西?还是在读取 h5 文件时?任何想法?

提前致谢

PD:我无法提供示例数据,因为 h5 文件非常大。

正确代码 感谢 ottlngr 回答和 Richard Telford 评论,问题是通过添加 tz= "UTC" 解决的时区问题

0 投票
1 回答
567 浏览

r - 从数据框中选择成对的数字

我有一个这样的数据框:

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

我正在尝试这段代码:

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

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