Это сообщение об ошибке:
"В writeBin (v, x @ file @ con, size = x @ file @ dsize): проблема с записью в соединение 6: В .rasterFromRasterFile (grdfile, band = band, objecttype): размер файла значений не соответствует количеству ячейки (с учетом типа данных) "
У меня есть 15 растровых файлов одинакового размера и размера. Я просто хочу узнать Корреляцию этих данных во времени (15 лет), т.е. 15 растровых файлов.
Я использовал сценарий ниже:
list <- c(list.files(pattern = "\\.tif$"))
y <- stack()
for (i in 1:length(list)){
y <- stack(y,list[i]) }
corT <- layerStats(y, 'pearson', na.rm=TRUE)
ИЛИ Использовал сложенный файл прямо вот так
test = brick ("EOS_ALL_STACK.tif")
corT = layerStats(test, 'pearson', na.rm=TRUE)
Я также пытался использовать эту функцию, чтобы получить коэффициенты корреляции и квадрат r, как это
fun5=function(x) { if (is.na(x[1])){ NA } else { m <- lm(x[1:15] ~ c(1:15));summary(m)$coefficients[1,4]}} #fstatistic[1]
fun5=function(x) { if (is.na(x[1])){ NA } else { m <- lm(x[1:15] ~ c(1:15));summary(m)$coefficients[2,4]}} #fstatistic[2]
fun3=function(x) { if (is.na(x[1])){ NA } else { m <- lm(x[1:15] ~ x[1:15]);summary(m)$r.squared }}
затем с помощью функции «calc» вычислили их по всем пикселям. Например:
r.squared <- calc(y, fun3)
Однако в моих результатах все еще есть указанные выше ошибки, и даже когда есть результат, он не имеет смысла.