求助:移除sfnetwork转sf后DataFrame开头的列表索引
移除sfnetwork转sf后的分组索引问题
当你从sfnetwork转换为sf对象时,出现的“列表索引”实际上是tidygraph带来的分组结构(基于from和to列),这会导致后续dplyr操作报错。以下是两种快速解决方法:
方法1:使用ungroup()移除分组
直接在st_as_sf()后添加dplyr::ungroup(),移除分组结构:
roads_subdivision.sf <- roads_subdivision %>% activate("edges") %>% st_as_sf() %>% ungroup()
方法2:转换时禁用分组输出
st_as_sf()在处理sfnetwork时默认返回分组的tibble,你可以通过as_tibble = FALSE参数直接生成无分组的sf数据框:
roads_subdivision.sf <- roads_subdivision %>% activate("edges") %>% st_as_sf(as_tibble = FALSE)
验证效果
执行上述修改后,查看对象类型:
class(roads_subdivision.sf)
输出应为"sf" "data.frame",而非包含grouped_df的类型,此时数据框不再显示分组索引,可正常进行后续dplyr和sf分析。
内容的提问来源于stack exchange,提问作者Alex Tabascio
相关产品推荐
相关产品推荐

