问题标签 [r-stars]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
74 浏览

r - 有没有办法在 r 中的不同位置组合包含相同变量集的两个星​​星对象

我正在尝试将不同位置的不同栅格数据集组合成一个栅格对象。我刚刚stars在 r 中找到了可能会执行此操作的包,我非常喜欢这个包,因为很多tidyverse方法都是兼容的。但是,我没有找到一个好的功能来实现类似row_bind(). 例如,如果我有两个stars来自两个状态的单独对象,并且我想将它们组合成一个stars对象。请参见以下示例:

下面是这两个stars对象的外观:

是否有一个简单的函数可以将这两个stars对象组合成一个stars对象?任何建议将不胜感激!

0 投票
1 回答
27 浏览

r - st_apply 的输出需要重新洗牌

在下面的示例中,我使用st_apply()扫描空间维度x并返回与该维度对应的向量band,从而得到 stars object y。由于xy原则上是相同的,减去两者应该得到一个填充零的星星对象。这不起作用,正如您在第二张图片中看到的那样。

问题是尺寸已重新排列。我如何重新洗牌以使其x-y正常工作?

标记

PS 这是一个相当人为的例子,但它源于一个在非空间维度上平滑的真实例子。

reprex 包于 2022-02-02 创建(v2.0.1)

会话信息
0 投票
0 回答
34 浏览

r - 多个 PROJ 安装导致 tmap 错误

我正在努力栅格化全局数据并使用 tmap 进行绘图。光栅化步骤难以产生稳定的输出,所以我正在尝试使用该包的解决stars::st_rasterize()方法。这适用于使用本机方法的绘图输出正常的地步。但是 tmap 无法正确渲染并引发与 rgdal/proj 相关的错误。rasterstars::st_rasterize

在此处输入图像描述

感谢任何想法来解开这个烂摊子。

在此处输入图像描述

0 投票
1 回答
50 浏览

r - 计算栅格中 NA 和非 NA 值的数量,但具有新的分辨率和范围

我需要计算原始分辨率为 1 x 0.00811 但聚合为 2 度并具有新范围的栅格中 NA 和非 NA 值的数量。

原始栅格(可在此处获得:https ://datadryad.org/stash/dataset/doi:10.5061/dryad.052q5 ,请参见输出 1)与另一个数据集(不幸的是,不是开源的)合并以在输出中生成栅格2:

输出 1

输出 2

我用于重新采样的栅格是一个虚拟栅格,如下所示:

输出 3

不幸的是,合并并因此重新采样的栅格在海岸线和湖泊附近有很多 NA 值;和中的平均方法st_warp将 NA 值转换为 0,这会扭曲某些单元格的平均值的计算。

我决定通过将平均值乘以非 NA 值的数量/(非 NA 的数量 - NA 的数量)来调整平均值产生的值,即:

平均 x {非NA值的数量/(非NA值的数量/NA值的数量)}

为此,我需要知道非 NA 和 NA 值的数量是原始合并栅格(输出 2),但分辨率为 2 度,输出 3 中的范围(-180、180、-65、65)。

我是地图和栅格的新手,如果这是一个基本问题,我深表歉意。

我试图用原始数据集和虚拟网格的坐标进行栅格化,但这不会让我得到 NA 值的数量,只是单元格的数量(加上合并的栅格超过 5.1 Gb)。我试图修剪 NA 值(愚蠢的想法),st_warp但没有平均(无论如何都使用最近的邻居)。

如果有人有任何想法或有更优雅的解决方案,我将不胜感激。

由衷的感谢,

编辑:通过反复试验,我发现无论值是否加载到内存中,重新采样(再次感谢您,@Robert Hijmans)和 st_warp 都会有所不同。

以下是示例输出,加载和不加载值:

terra::resample 进行平均而不在内存中加载数据

terra::resample对内存中加载的数据进行平均