У меня есть список ячеек в растре, для которых я хотел бы изменить значение ячеек (оставив все остальные ячейки в покое). Я скопировал тестовый (воспроизводимый) код ниже, который мне удалось заставить работать. Он генерирует тестовый растр и для ячеек, определенных в vals, изменяет значение ячеек на 50.
# My List of Cells That Require Changing
vals<-c(2,4,6,10,15,27)
#Example Raster
r <- raster(ncol=6, nrow=6)
r[] <- 1:ncell(r)
plot(r)
#Change Cell Values
r[r%in%c(vals)] <- 50
plot(r)
Все идет нормально. Однако, когда я применяю тот же код к своим реальным данным, я не могу изменить значения ячеек. Код работает абсолютно нормально (никаких сообщений об ошибках), но значения ячеек просто не меняются.
Мой первый вопрос: сталкивался ли кто-нибудь с этой проблемой раньше? Мой второй вопрос: как мне лучше всего предоставить свой реальный пример сообществу StackOverflow, чтобы, возможно, кто-то мог помочь мне устранить проблему? Боюсь, что без использования моего набора данных проблема останется нерешенной. Я читал, что использование r [r% in% c (vals)] ‹- 50 может быть нестабильным с точки зрения памяти для больших растров, но я не уверен, что это так в моем примере (мой растр - это изображение Ямайки и содержит всего 4185 ячеек, и при запуске кода я не заметил никаких всплесков использования ОЗУ).
Мы будем очень благодарны за любую помощь, которую вы можете оказать.