【发布时间】:2018-07-29 06:15:46
【问题描述】:
我有一个循环,我在其中对栅格进行下采样,然后找到这些栅格的标准偏差。我的代码是
i=0
while(i<10)
{
# Get the Raster + Noise raster
NewRaster=NoisyRaster(OriginalRaster,NoiseMatrix)
DownSampledRaster=DownSampleRaster(NewRaster,CellSize,MEAN)
TheMatrix=as.matrix(DownSampledRaster)
StandardDev=sd(TheMatrix, na.rm=T)
print(StandardDev)
i=i+1
}
问题是,当它打印标准偏差时,它看起来像这样:
[1] number
[2] number etc.
我需要这样做超过 100 次迭代,并且我需要能够找到这些数字的均值和标准差。我怎样才能将这些数字放入向量中以便我可以轻松地做到这一点?
【问题讨论】:
-
purrr::map和相关函数对于这类事情非常有用,我强烈建议您了解如何使用它们。将您的栅格放入列表中,例如r。然后你可以做output <- map(r, function(x) cellStats(x, "sd"))。这将为您提供输入栅格的标准偏差列表。如果你希望结果是一个向量,你可以unlist()这个。 -
谢谢!我必须检查一下 - 我对 R 非常陌生,但我现在会查找它们
标签: r list loops while-loop