如何在 Linux 上的 R 中安装 terra 和 raster 库来操作 .nc 文件?

How to install the terra and raster libraries in R on Linux to manipulate .nc files?

提问人:Anna 提问时间:11/9/2023 更新时间:11/9/2023 访问量:35

问:

我正在尝试在 R 中打开和操作 .nc 文件 (netcdf)。我已经设法安装了 ncdf4、RNetCDF 和 ggplot2 软件包。我的问题是,当我尝试安装其他软件包来帮助我处理我的文件时,我收到错误消息,例如“非零退出状态”(我知道这意味着它未安装),或者有关软件包不适用于我的 R 版本的消息(我有 4.1.2)。

我尝试先安装错误消息中列出的“依赖项”(在阅读了此处的建议之后)——但它们不会安装。我已经在我的 Linux 终端中输入了一个更新命令(这就是我安装 ncdf4 和 RNetCDF 的方式)。我一直在网上四处寻找答案——来自 GitHub,以及来自 David W Peirce(他为 Linux 制作了 ncview)和这个网站的指示——到目前为止还没有运气。我不太确定如何使用 ncdf4 库,但根据我的研究,我认为我还需要栅格库、terra 库以及其他一些用于空间分析的库。

我的主要问题是安装栅格和 terra 库。我已经试过了: install.packages(“栅格”) 和 install.packages(“栅格”, 依赖项 = TRUE) 和 install.packages(“terra”)。

我最后的错误消息的一部分内容如下:

错误:包“terra”的配置失败

  • 删除“/home/******a/R/x86_64-pc-linux-gnu-library/4.1/terra” install.packages 中的警告: 软件包“terra”的安装具有非零退出状态

- 重复了一堆较小的软件包,例如“units”和“sf”以及其他类似的东西(正如我之前所说,我尝试单独安装但没有成功)。 如何安装 terra 和 raster?

NetCDF R-光栅 NCDF4

评论

0赞 IRTFM 11/9/2023
需要 FULL 错误消息,特别是那些说明缺少哪些依赖项的信息。
0赞 Spacedman 11/9/2023
“我尝试先安装错误消息中列出的'依赖项'(在阅读了此处的建议之后)——但它们不会安装”——这些可能是您使用 Linux 包管理器安装到 Linux 而不是 R 中的系统依赖项。但是,如果不看到错误和您尝试过的内容,就很难分辨。例如,units 有“SystemRequirements: udunits-2”,在我的 Linux 盒子上需要或类似。或者,设置 r2u eddelbuettel.github.io/r2u 并获得二进制安装,sys deps 由 apt 神奇地处理。sudo apt install lib-udunits2-dev
0赞 Patrick 11/9/2023
你怎么知道你需要和包?你的知识似乎是不完整的,因为它是你的继承者,所以你需要一个,而不是两者兼而有之。你为什么不告诉我们你想用你的NetCDF文件做什么,可能还有其他解决方案(如包)。terrarasterterrarasterstars

答:

2赞 Dirk is no longer here 11/9/2023 #1

正如@Barry在上面的评论中提到的,r2u 可以为您提供帮助。它为 Ubuntu LTS 系统 20.04 和 22.04 增加了查询包含所有 CRAN 以及近 400 个 BioConductor 软件包的存储库的能力。另外,通过使用,您可以从 R 访问它。aptbspm

它适用于标准的 Ubuntu 笔记本电脑和服务器,或容器中,或 GitHub Actions,或可能 - 它适用于任何运行 Ubuntu LTS 的地方。

这是我刚刚用一个命令记录安装的一个快速演示 - 导致所有 50 多个必需的软件包在几秒钟内安装完毕。试一试吧!terrainstall.packages("terra")

(我没有展示,因为它已经正式退休了。R2U 仍然具有二进制文件。所以如果你这样做,你就会两者兼而有之。rasterinstall.packages(c("terra", "raster"))