问题标签 [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.
r - 有没有办法在 r 中的不同位置组合包含相同变量集的两个星星对象
我正在尝试将不同位置的不同栅格数据集组合成一个栅格对象。我刚刚stars
在 r 中找到了可能会执行此操作的包,我非常喜欢这个包,因为很多tidyverse
方法都是兼容的。但是,我没有找到一个好的功能来实现类似row_bind()
. 例如,如果我有两个stars
来自两个状态的单独对象,并且我想将它们组合成一个stars
对象。请参见以下示例:
下面是这两个stars
对象的外观:
是否有一个简单的函数可以将这两个stars
对象组合成一个stars
对象?任何建议将不胜感激!
r - st_apply 的输出需要重新洗牌
在下面的示例中,我使用st_apply()
扫描空间维度x
并返回与该维度对应的向量band
,从而得到 stars object y
。由于x
和y
原则上是相同的,减去两者应该得到一个填充零的星星对象。这不起作用,正如您在第二张图片中看到的那样。
问题是尺寸已重新排列。我如何重新洗牌以使其x-y
正常工作?
标记
PS 这是一个相当人为的例子,但它源于一个在非空间维度上平滑的真实例子。
由reprex 包于 2022-02-02 创建(v2.0.1)
会话信息r - 多个 PROJ 安装导致 tmap 错误
我正在努力栅格化全局数据并使用 tmap 进行绘图。光栅化步骤难以产生稳定的输出,所以我正在尝试使用该包的解决stars::st_rasterize()
方法。这适用于使用本机方法的绘图输出正常的地步。但是 tmap 无法正确渲染并引发与 rgdal/proj 相关的错误。raster
stars::st_rasterize
感谢任何想法来解开这个烂摊子。
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 都会有所不同。
以下是示例输出,加载和不加载值: