1

也许这很简单,但我现在很难过。我有一个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)

这是我的控制台向我显示的内容对不起,但我没有足够的声誉来发布图像。

4

1 回答 1

0

您需要分配dfdf %>% 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)
于 2020-08-25T21:06:48.477 回答