我用R和PythonWin在空间上应用了一个统计模型。我在两个程序中创建了相同的预测光栅,并且输出的结果是不同的(不是疯狂的不同,而是不同的)。我想知道这两个预测光栅之间的差异是否是由于缩放问题(我必须缩放光栅中的值,因为我缩放了我应用的模型中的变量)?在
我有23546列9157行的大光栅文件,30 x 30单元格大小,浮动像素类型。如果我使用scale{raster}缩放R中的光栅值,则输出的平均值为7.9e-17和stdev 1。在
inputras<-raster(file)
outras1<-scale(inputras)
cellStats(outras1, mean)
# returns 7.874414e-17
cellStats(outras1, sd)
# returns 1
如果我通过减去平均值并除以标准差来缩放同一光栅的值,我得到相同的输出。不奇怪。在
^{pr2}$如果我用Python做这个arcpy.getras解释对于同一个光栅,我得到了不同的输出。在
inputras=arcpy.Raster(file)
X=float(arcpy.GetRasterProperties_management (inputras, "MEAN").getOutput(0))
Y=float(arcpy.GetRasterProperties_management (inputras, "STD").getOutput(0))
outras=(inputras-X)/Y
A=arcpy.GetRasterProperties_management (outras, "MEAN")
B=arcpy.GetRasterProperties_management (outras, "STD")
print A, B
#returns a mean of -6.8e-8 and a stdev of 0.999
我应该指出,对于所有输出,最小值和最大值是相同的。在
为什么在使用(据我所知)相同的缩放值的方法时,R和PythonWin的输出的方法不同?提前感谢您对此事的任何想法。在
你查过了吗
返回与
^{pr2}$相关问题 更多 >
编程相关推荐