我有 R data.table,我尝试使用 rhdf5 包将其写为 h5 文件。这给了我一个警告h5writeAttribute.default(Attr[[i]], h5obj, name = names(Attr)[i]) :
No function found to write attribute of class 'externalptr'. Attribute '.internal.selfref' is not written to hdf5-file.
当我阅读文件时,我发现很多列都不存在。具体来说,list()
缺少类型的列。无论我使用write.attributes=TRUE
还是write.attributes=FALSE
在h5write
功能中,我都会得到相同的结果。有什么建议么?可重现的例子:
library(rhdf5)
library(data.table)
tmp <- data.table(character = "Name",
logical = "FALSE",
list = list(tmp = c("a", "b")),
logical2 = "TRUE"
)
h5write(tmp, "tmp.h5", "test",write.attributes=TRUE)
h5closeAll()
tmpRead = h5read(file="tmp.h5","test")
h5closeAll()
tmp
character logical list logical2
1 Name FALSE c("a", "b") TRUE
tmpRead
character logical logical2
1 Name FALSE TRUE