#r #dataframe #spdf
#r #фрейм данных #spdf
Вопрос:
Может быть, это что-то простое, но я сейчас в тупике. У меня есть, SpatialPolygonsDataFrame
из которого я извлекаю столбцы данных и преобразую его в стандартный dataframe
. Затем я округляю данные. Но, когда я хочу вставить данные, уже округленные обратно в SpatialPolygonsDataFrame
, я вижу, что они сохраняют данные такими, какими они были изначально, без округления. Вот мой код.
Hex_Grid_Pop <- readOGR(dsn=".", layer="Hex_Grid_500_Pop")
df = as.data.frame(Hex_Grid_Pop)[, 3:13]
df %>% mutate_if(is.numeric, round)
Hex_Grid_Pop[1:NROW(Hex_Grid_Pop), 3:13] = df
head(Hex_Grid_Pop@data)
Это то, что показывает мне моя консоль Извините, но у меня недостаточно репутации для публикации изображений.
Ответ №1:
Вам нужно назначить df
для df %>% mutate_if(is.numeric, round)
, т.е.
df <- df %>% mutate_if(is.numeric, round)
В противном случае вы df
остались неизменными.
Кроме того, ничто не мешает вам сделать это:
Hex_Grid_Pop@data[,3:13] <- Hex_Grid_Pop@data[,3:13] %>% mutate_if(is.numeric, round)