gpt4 book ai didi

R星错误: dims do not match the length of object when evaluating proxy

转载 作者:行者123 更新时间:2023-12-05 05:40:43 25 4
gpt4 key购买 nike

我正在处理来自全局气候模型的大型数据集,该数据集无法放入 RStudio 的内存中,因此我选择通过将其加载为星星代理对象并逐 block 评估来对其进行分析。

在整个时间段内获取空间 block 效果很好,例如:

full_dataset <- read_stars(data_path, proxy = T)
data_chunk <- full_dataset[,1,1,] %>%
st_as_stars()

但是,获取时间 block (无论它是否在整个区域)会在评估步骤返回错误。例如:

data_chunk <- full_dataset[,,,1] %>%
st_as_stars()

返回错误:

Error in dim(data) <- c(dim(data)[1:2], newdims) : 
dims do not match the length of object

在管道之前,子集代理对象看起来像这样:

> full_dataset[,,,1]
stars_proxy object with 1 attribute in 1 file(s):
$SB_HW_01deg_crop.nc
[1] "[...]/SB_HW_01deg_crop.nc"

dimension(s):
from to offset delta refsys point values x/y
x 1 328 -19.95 0.1 NA NA NULL [x]
y 1 249 64.9 -0.1 NA NA NULL [y]
time_counter 1 1 NA NA udunits NA [687268800,687355200) [(seconds since 1950-01-01 00:00:00)]

我在使用 plot() 而不是 st_as_stars() 时遇到了同样的错误,并且在使用 rasterIO 而不是使用 [,,,1] 进行子集设置时也是如此。该数据集来自最初在曲线坐标中定义的 NetCDF 文件,我首先使用 RStudio 之外的 CDO 的 remapbil 运算符将其插值到规则网格上。 (因为我发现星星不支持曲线网格的代理。)完整的数据集有超过 45000 个时间步长。在终端中直接使用 ncview 或 ncdump 时,该文件似乎没有问题。

我想我在这里用错了星星,但我就是想不通问题出在哪里。我不太了解底层过程以及错误消息所指的内容。数据集很大,但如果需要我可以提供。

编辑:我设法增加了我的内存限额,并在不经过代理阶​​段的情况下将完整的数据集加载到内存中。这样一切都很好。看来问题出在代理评估上。不过,仍然不知道它是什么,并且希望能够使用代理代替。

最佳答案

https://github.com/r-spatial/stars/issues/561包维护者现在已经解决了这个问题。

关于R星错误: dims do not match the length of object when evaluating proxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72352195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com