Я использую следующий код для проверки P-значений линейного тренда, но кажется, что цикл не работает должным образом, так как я не вижу двумерную карту P-значения, а только строку
library(chron)
library(RColorBrewer)
library(lattice)
library(ncdf4)
#-------------------------------------------------------------------------------------------
options(warn=-1)
ncin <- nc_open("MOD04_10K_Winter.nc", readunlim=FALSE)
#print(ncin)
lon <- ncvar_get(ncin, varid="Longitude", start=NA, count=NA, verbose=FALSE,
signedbyte=TRUE, collapse_degen=TRUE, raw_datavals=FALSE )
lat <- ncvar_get(ncin, varid="Latitude", start=NA, count=NA, verbose=FALSE,
signedbyte=TRUE, collapse_degen=TRUE, raw_datavals=FALSE )
aod <- ncvar_get(ncin, varid="AOD", start=NA, count=NA, verbose=FALSE,
signedbyte=TRUE, collapse_degen=TRUE, raw_datavals=FALSE )
px <- matrix(nrow = 1:length(lon), ncol = 1:length(lat))
is.matrix(px)
for (lo in 1:length(lon)) {
for (la in 1:length(lat)) {
int1a = aod[lo, la,]
# if mean of int is finite then proceed else fill NA to all arrays
mn = mean(int1a, trim = 0, na.rm = FALSE)
if (is.finite(mn))
{
print("---------------- Reading Finite data -------------")
xs = 1:30
fn1a = lm(int1a~xs) # Function_NCP
p_val = summary(fn1a)$coefficients[2, 4] # Saving p-value
if (p_val < 0.05) {print("statisticlly significant")} else {print("statisticlly in-significant")}
print(p_val)
print(lo)
print(la)
px[lo][la] = p_val # variables in [] only (?)
}
} # latitude dimension
}
Если я использую [lo, la]
вместо [lo][la]
У меня возникает следующая ошибка
Ошибка в [<-
(*tmp*
, lo, la, значение = 0,0543481042240582):
нижний индекс вне границ
Извините, если решение очень тривиально, я только начал работать в R.