我想使用 R.213-Lon、78-Lat、30 天数据中的 DIff 将一个月的第一个每日日期与其第二个日期相减,然后将第二个日期数据与第三个日期相减,依此类推。我的输出为零。
我的代码开始:
cdf<-nc_open(file.choose())//打开我的netcdf文件
rain1 <- ncvar_get( cdf, "RAINNC")//提取变量
暗淡(雨1)
[1]213 78 30
obs1<-array(0,c(213,78,30))//输出的虚拟数组
无<-array(0,c(213,78,30))
for( i in 1 :dim(rain1)[1]){
for( j in 1 :dim(rain1)[2]){
for( k in 1 :dim(rain1)[3]){
if(!is.na(rain1)[3]){
obs[i,j] <- diff(k ,lag = 1)}
else { no[i,j] <- NA }
}}}
最佳答案
你可以使用类似的东西
# generate data
my_dates <- as.Date(c("2019-01-01", "2019-01-02", "2019-01-05"), "%Y-%m-%d")
# substract each date data from the preceding one
my_dates[1:(length(my_dates)-1)] - my_dates[2:length(my_dates)]
# see output
Time differences in days
[1] -1 -3
如果您需要其他方式(从以下内容中减去日期数据),您当然可以简单地将顺序更改为 my_dates[2:length(my_dates)] - my_dates[1:(length(my_dates)- 1)]
关于java - 如何在 netcdf 文件中减去连续的每日数据及其后继日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57306339/