我正在使用大矩阵和 ff 包。我正在加载一个 ff 对象,我想用它来计算 crps(分数)。
例如,我有一个 ff_matrix(称为 Mat,有 25 行和 7303 列),它是降水预报(7303 代表天数(大约 20 年),25 是一天的 25 次降水模拟)。我还有一个 ff_array,其中包含这 20 年的观察结果(称为 Obs 和 7303 值)。
使用包 ensembleBMA 我想计算 CRPS。我需要将我的 ff_matrix 和我的 ff_array 放在一个“ensembleBMA”对象中(实际上这是一个 data.frame)。
对于此代码:
ensembleBMA(Mat,Obs)
我有这个错误:
Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) : cannot coerce class 'c("ff_matrix", "ff_array", "ff")' into a data.frame
我尝试了不同的选项,例如:
as.data.frame(Mat)
as.matrix(Mat)
transform.ffdf(as.ffdf(Mat))
我总是有这些错误:
Error in as.data.frame.default(Mat_Ptot_212_1) : cannot automatically convert class 'c("ff_matrix", "ff_array", "ff")' into a data frame (data.frame)
或者
opening ff /tmp/RtmpWrlY4n/clone9d3376b435.ff Error in ff(initdata = initdata, length = length, levels = levels, ordered = ordered, : write error
有人有想法吗?