1
data.table
과 함께 사용하는 경우 data.table의 잘못된 동작은 sf::st_union
과 함께 사용하면 잘못된 집계를 수행하지만 dplyr
은 올바르게 처리하는 것 같습니다. 누군가 data.table
가이 결과를 산출하는 이유를 설명해 주시겠습니까? 우리가 list
에 배치하는 경우sf 패키지
library(data.table)
library(sf)
library(dplyr)
nc <- st_read(system.file("shape/nc.shp",package="sf"))
nc_DT <- as.data.table(nc)
nc %>% group_by(SID74) %>% summarise(geom = st_union(geometry)) %>% nrow # prints 23 (correct answer)
nrow(nc_DT[,st_union(geometry),by=SID74]) # prints 83 (incorrect answer)
이 될 것입니다; 예를 들어'plot (res $ geom)'을 시도해보십시오. –
@EdzerPebesma를 지적 해 주셔서 감사합니다. 기하 구조 컬럼은 어떤 속성을 유지해야합니까? AFAICT는'class (클래스)'이어야하며, 값은'c '("XY", "MULTIPOLYGON", "sfg")'이어야합니다. 이것은'data.table'과'sf'가 함께 작동하도록 해결되어야 할 문제입니다 (두 프로젝트의 문제점 페이지에서 언급했습니다). – Vijay