这似乎与 rgdal 无关,因为您的脚本没有使用它(我从您的示例中删除了 library(rgdal) 以使其更清晰)。
我认为这不仅适用于旋转,而且任何读取数据的尝试都会失败。例如,你能做到吗
s <- Stack.nc * 1
更新。
提供的文件对我有用
f <- "pr_Amon_ACCESS-CM2_historical_r1i1p1f1_gn_185001-201412.nc"
与terra
library(terra)
r <- rast(f)
rr <- rotate(r)
rr
#class : SpatRaster
#dimensions : 144, 192, 1980 (nrow, ncol, nlyr)
#resolution : 1.875, 1.25 (x, y)
#extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
#coord. ref. : +proj=longlat +datum=WGS84 +no_defs
#source : memory
#names : pr_1, pr_2, pr_3, pr_4, pr_5, pr_6, ...
#min values : 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, ...
#max values : 0.0004399522, 0.0004903608, 0.0003187894, 0.0004326741, 0.0003904318, 0.0006041837, ...
还有raster
library(raster)
b <- brick(f)
bb <- rotate(b)
bb
#class : RasterBrick
#dimensions : 144, 192, 27648, 1980 (nrow, ncol, ncell, nlayers)
#resolution : 1.875, 1.25 (x, y)
#extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
#crs : +proj=longlat +datum=WGS84 +no_defs
#source : memory
#names : X1850.01.16, X1850.02.15, X1850.03.16, X1850.04.16, X1850.05.16, X1850.06.16, X1850.07.16, X1850.08.16, X1850.09.16, X1850.10.16, X1850.11.16, X1850.12.16, X1851.01.16, X1851.02.15, X1851.03.16, ...
#min values : 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 4.140691e-18, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, ...
#max values : 0.0004399522, 0.0004903608, 0.0003187894, 0.0004326741, 0.0003904318, 0.0006041837, 0.0008112662, 0.0006924249, 0.0005891759, 0.0003935274, 0.0003543252, 0.0003916493, 0.0004465098, 0.0004070048, 0.0003241026, ...
Date : 1850-01-16, 2014-12-16 (min, max)
您使用的是当前版本的 R 吗?您说“rgdal 不适用于我的 R 版本”,这表明您使用的是相当旧的版本?你能显示你的sessionInfo()吗?你能重新安装相关的软件包吗?
install.packages(c("raster", "ncdf4", "terra"))