Как я могу выделить DataSet больше, чем поместится в памяти в R?
У меня есть внешнее приложение (не-R), чей вход представляет собой файл HDF5, содержащий плотный куб данных. Я хочу сгенерировать данные для этого в R.
Обычный способ создать HDF5 DataSet в R будет выглядеть так:
`
library(h5)
data <- numeric( 8*8*1000000)
dim(data) <- c(8,8,1000000)
file <- h5file("test.h5", 'w')
file['data'] <- data`
Это работает, если достаточно памяти для создания data
, но не когда данные большие. Я могу создавать данные в виде срезов и, следовательно, записывать их в файл, если я смогу сначала создать DataSet.
Чтобы попытаться создать набор данных, я делаю
file <- h5file("test.h5", 'w')
createDataSet(file, 'data', NA, 'double', c(8,8,1000000))
Тем не менее, R отвергает это высказывание
невозможно найти унаследованный метод для функции 'createDataSet' для подписи '"H5File", "символ", "числовой", "символ", "числовой", "отсутствует", "отсутствует", "отсутствует" "
Вызывающая подпись в документации предполагает, что "размеры" - это не вектор, а целое число, возможно, указывающее количество измерений. Я экспериментировал с другими сигнатурами вызовов и получил несоответствие - возможно, H5File не является типом CommonFG, хотя CommonFG является родительским классом H5File.