如何将 data.frame 转换为 SpatialPolygonsDataFrame
How to convert data.frame to SpatialPolygonsDataFrame
也许这很简单,但我现在很困惑。
我有一个 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)
This is what my console shows me抱歉,我没有足够的声誉来发布图像。
您需要将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)
也许这很简单,但我现在很困惑。
我有一个 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)
This is what my console shows me抱歉,我没有足够的声誉来发布图像。
您需要将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)