我有多个.nc,它们也在.tif文件中,我想使用这些文件根据统计模型计算概率。我有5个文件(V1.nc、V2.nc、V3.nc、V4.nc、V5.nc),统计模型是:y = 1 / (1 + exp(-(Intercept + V1 * 1.87 + V2 * 1.53 + V3 * (-4.18) + V4 * 3.58 + V5 * 9.13)))。
我通常使用Qgis、RStudio和Ubuntu,我不在乎使用哪一个程序。
有没有办法让我用这些文件来计算整个y
发布于 2021-04-06 16:50:16
您可以尝试使用
cdo cat V?.nc combined.nc 然后使用表达式命令创建一个新变量。
intercept=2.3123 # or whatever the value is
cdo expr,'y=1 / (1 + exp(-(${intercept} + V1 * 1.87 + V2 * 1.53 - 4.18*V3 + V4 * 3.58 + V5 * 9.13)))' combined.nc newvar.nc我假设V1.nc中的变量名为"V1“等,如果没有相应地替换名称的话。
编辑:根据注释,每个文件使用相同的变量名。因此,在进行上述操作之前,变量应该在每个文件中使用NCO重命名,或者可以使用单独的cdo函数组合原始文件,如下所示:
cdo -pow,-1 -addc,1 -exp -mulc,-1 -addc,$intercept -add -mulc,1.87 V1.nc -add -mulc,1.53 V2.nc -add -mulc,-4.18 V4.nc -add -mulc,3.58 V4.nc -mulc,9.13 V5.nc mynewvariable.nc 我用管道把它放在一行上,避免中间文件,仔细检查我的公式,但我希望它不包含错误。有了管道,从右到左阅读是有帮助的。
文件mynewvariable.nc中的变量也将被称为Band1;您可能希望使用nco适当地更改元数据,即使这些文件仅供您自己使用,也始终是一个很好的习惯。
https://stackoverflow.com/questions/66971901
复制相似问题