ggplot2에 플로팅 할 때 일부 sf 다각형이 누락 됨

에릭 그린

미국 카운티 수준의 데이터를 플로팅하려고하는데 일부 카운티가 표시되지 않는 이유를 알 수 없습니다. 이 장난감 예에서는 캘리포니아 카운티에만 초점을 맞추고 호출에서 필터링 할 때까지 모든 일일 데이터를 남겨 둡니다 ggplot()(실제 사용 사례는 gganimate를 포함하므로 일일 데이터가 필요합니다).

여기에 이미지 설명 입력

library(tidyverse)
library(sf)
library(viridis)
library("rio")

# get county geometry
  url <- "https://gist.githubusercontent.com/ericpgreen/717596c37478ef894c14b250477fae92/raw/c2cf4b273a2c7f0677f22a37b5e9f7e893204e3b/cali.R"
  cali <- rio::import(url)

# get covid data
  covid <- read.csv("https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-counties.csv", 
                    stringsAsFactors = FALSE)

# prep covid data
  covidPrepped <-
  covid %>%
    filter(state=="California") %>%
    select(date, fips, cases, deaths) %>%
    mutate(date = lubridate::ymd(date)) %>%
    mutate(fips = stringr::str_pad(fips, width=5, pad="0")) %>%
    mutate(month = lubridate::month(date, 
                                    label=TRUE, 
                                    abbr=TRUE),
           day = lubridate::day(date),
           monthDay = paste(month, day, sep=" "))

# make sure every county has a row for every day
  complete <- 
  cali %>%
    left_join(covidPrepped, by = c("GEOID" = "fips")) %>%
    complete(date, GEOID, fill = list(cases = 0)) %>%
    select(date, GEOID, cases, monthDay)

# join back to geometry and construct casesPop
  pData <- 
  complete %>%
    left_join(select(cali, GEOID, NAME, estimate, geometry),
              by = "GEOID") %>%
    st_as_sf() %>%
    mutate(casesPop = (cases/estimate)*100000) %>%
    mutate(casesPop = ifelse(is.na(casesPop), 0, casesPop)) %>%
    mutate(group = cut(casesPop, 
                       breaks = c(0, 1, 3, 10, 30, 100, 
                                  300, 1000, 3000, 10000, 
                                  Inf),
                       labels = c(0, 1, 3, 10, 30, 100, 
                                  300, 1000, 3000, 10000),
                       include.lowest = TRUE)
    ) %>%
    select(GEOID, geometry, group, monthDay) 

# plot
  ggplot(pData %>% filter(monthDay=="May 5")) +
    geom_sf(aes(fill = group), color = "white", size=.1) +
    scale_fill_viridis_d(option = "magma", drop=FALSE) +
    coord_sf(crs = 102003) +
    theme_minimal() + 
    theme(legend.position = "top",
          legend.box = "horizontal",
          legend.title = element_blank(),
          legend.justification='left') +
    guides(fill = guide_legend(nrow = 1))

누락 된 카운티 :

missing <- pData %>% filter(monthDay=="May 5")
cali$GEOID[!(cali$GEOID %in% test$GEOID)]
#[1] "06035" "06049" "06091" "06105"

이 카운티에는 covid5 월 5 일에 대한 데이터가 없지만으로 전화하면 문제가 해결 될 것이라고 생각했습니다 complete().

complete(date, GEOID, fill = list(cases = 0))

에릭 그린

complete()구멍을 남기고 있다는 것을 깨달았 monthDay으며 나중에 필터링에 사용했습니다. 이러한 NA는 플로팅 할 때 삭제되었습니다.

complete(date, GEOID, fill = list(cases = 0)) %>%
select(date, GEOID, cases, monthDay)

따라서 monthDay전체 데이터를 기하학 데이터와 결합하여 생성하도록 약간 재구성했습니다 .

library(tidyverse)
library(sf)
library(viridis)
library("rio")

# get county geometry
url <- "https://gist.githubusercontent.com/ericpgreen/717596c37478ef894c14b250477fae92/raw/c2cf4b273a2c7f0677f22a37b5e9f7e893204e3b/cali.R"
cali <- rio::import(url)

# get covid data
covid <- read.csv("https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-counties.csv", 
                  stringsAsFactors = FALSE)

# prep covid data
covidPrepped <-
  covid %>%
  filter(state=="California") %>%
  select(date, fips, cases, deaths) %>%
  mutate(date = lubridate::ymd(date)) %>%
  mutate(fips = stringr::str_pad(fips, width=5, pad="0")) 

# make sure every county has a row for every day
complete <- 
  cali %>%
  left_join(covidPrepped, by = c("GEOID" = "fips")) %>%
  complete(GEOID, date, fill = list(cases = 0)) %>%
  select(date, GEOID, cases)

# join back to geometry and construct casesPop
pData <- 
  complete %>%
  left_join(select(cali, GEOID, NAME, estimate, geometry),
            by = "GEOID") %>%
  st_as_sf() %>%
  mutate(casesPop = (cases/estimate)*100000) %>%
  mutate(casesPop = ifelse(is.na(casesPop), 0, casesPop)) %>%
  mutate(group = cut(casesPop, 
                     breaks = c(0, 1, 3, 10, 30, 100, 
                                300, 1000, 3000, 10000, 
                                Inf),
                     labels = c(0, 1, 3, 10, 30, 100, 
                                300, 1000, 3000, 10000),
                     include.lowest = TRUE)
  ) %>%
  mutate(month = lubridate::month(date, 
                                  label=TRUE, 
                                  abbr=TRUE),
         day = lubridate::day(date),
         monthDay = paste(month, day, sep=" ")) %>%
  select(GEOID, geometry, group, monthDay) 

# plot
ggplot(pData %>% filter(monthDay=="May 5")) +
  geom_sf(aes(fill = group), color = "white", size=.1) +
  scale_fill_viridis_d(option = "magma", drop=FALSE) +
  coord_sf(crs = 102003) +
  theme_minimal() + 
  theme(legend.position = "top",
        legend.box = "horizontal",
        legend.title = element_blank(),
        legend.justification='left') +
  guides(fill = guide_legend(nrow = 1))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

geom_sf ()로 세계지도를 플로팅 할 때 축 눈금 및 레이블이 누락 됨

분류에서Dev

듀얼 부팅 Ubuntu 및 Windows 7 : Windows에서 부팅하려고 할 때 BOOTMGR이 누락 됨

분류에서Dev

Azure에 배포 할 때 CSS 파일이 누락 됨 (datepicker 스타일이 로컬로 작동 함)

분류에서Dev

Visual Studio 게시 할 때 일부 클래스가 DLL에서 누락 됨

분류에서Dev

네트워크 공유에서 때때로 일부 폴더가 누락 됨

분류에서Dev

스타일을 추가 할 때 Mahapps TextBox ClearTextButton이 누락 됨

분류에서Dev

컴파일 할 때 명령 줄에서 DSO가 누락 됨

분류에서Dev

Jenkins를 사용하여 React 앱을 빌드 할 때 발생하는 문제, 파일 로더로 인해 일부 파일이 누락 됨

분류에서Dev

Jenkins를 사용하여 React 앱을 빌드 할 때 발생하는 문제, 파일 로더로 인해 일부 파일이 누락 됨

분류에서Dev

Blob을 파일로 추출 : 일부 파일에 데이터가 누락 됨

분류에서Dev

사이트를 다시로드 할 때 Javascript 프롬프트가 누락 됨

분류에서Dev

ggplot2에서 geom_sf를 사용할 때 annotation_raster로 이미지 배치

분류에서Dev

미리보기에서 사이트가 제대로 작동하지만 index.html 파일에 액세스 할 때 배경 이미지가 누락 됨

분류에서Dev

계정 이름에 따라 원시 연락처 테이블을 쿼리 할 때 연락처 ID가 누락 됨

분류에서Dev

부팅 메뉴, manjaro에서 창이 누락 됨

분류에서Dev

재부팅 후 ProFont에서 글꼴이 누락 됨

분류에서Dev

부팅 메뉴, manjaro에서 창이 누락 됨

분류에서Dev

Maven으로 빌드 할 때 런타임에 jaxb.properties가 누락 됨

분류에서Dev

외래 키에서 두 테이블을 조인 할 때 FROM 절이 누락 됨

분류에서Dev

Angular에서 사용할 때 Material Design Lite 아이콘이 누락 됨

분류에서Dev

브라우저가 상주 할 때 헤더 배경의 일부가 누락 됨

분류에서Dev

DataFrame에서 Series를 구성 할 때 첫 번째 행이 누락 됨

분류에서Dev

재부팅 후 ~ / .bashrc 파일이 누락 됨

분류에서Dev

ggplot2에서`facet_wrap`을 사용할 때 일부 플롯 주위에 상자를 그립니다.

분류에서Dev

Visual Studio Xamarin에서 프로젝트를 만들 때 Entitlements.plist 파일이 누락 됨

분류에서Dev

.NET VS 2010에서 웹 애플리케이션 프로젝트를 게시 할 때 .json 파일 누락

분류에서Dev

수직 프로파일을 플로팅 할 때 ggplot2에서 y와 x를 뒤집는 문제

분류에서Dev

"Live USB"로 부팅 할 때 "누락 된 운영 체제"

분류에서Dev

Python Selenium을 사용할 때 데이터 / 내용이 누락 됨

Related 관련 기사

  1. 1

    geom_sf ()로 세계지도를 플로팅 할 때 축 눈금 및 레이블이 누락 됨

  2. 2

    듀얼 부팅 Ubuntu 및 Windows 7 : Windows에서 부팅하려고 할 때 BOOTMGR이 누락 됨

  3. 3

    Azure에 배포 할 때 CSS 파일이 누락 됨 (datepicker 스타일이 로컬로 작동 함)

  4. 4

    Visual Studio 게시 할 때 일부 클래스가 DLL에서 누락 됨

  5. 5

    네트워크 공유에서 때때로 일부 폴더가 누락 됨

  6. 6

    스타일을 추가 할 때 Mahapps TextBox ClearTextButton이 누락 됨

  7. 7

    컴파일 할 때 명령 줄에서 DSO가 누락 됨

  8. 8

    Jenkins를 사용하여 React 앱을 빌드 할 때 발생하는 문제, 파일 로더로 인해 일부 파일이 누락 됨

  9. 9

    Jenkins를 사용하여 React 앱을 빌드 할 때 발생하는 문제, 파일 로더로 인해 일부 파일이 누락 됨

  10. 10

    Blob을 파일로 추출 : 일부 파일에 데이터가 누락 됨

  11. 11

    사이트를 다시로드 할 때 Javascript 프롬프트가 누락 됨

  12. 12

    ggplot2에서 geom_sf를 사용할 때 annotation_raster로 이미지 배치

  13. 13

    미리보기에서 사이트가 제대로 작동하지만 index.html 파일에 액세스 할 때 배경 이미지가 누락 됨

  14. 14

    계정 이름에 따라 원시 연락처 테이블을 쿼리 할 때 연락처 ID가 누락 됨

  15. 15

    부팅 메뉴, manjaro에서 창이 누락 됨

  16. 16

    재부팅 후 ProFont에서 글꼴이 누락 됨

  17. 17

    부팅 메뉴, manjaro에서 창이 누락 됨

  18. 18

    Maven으로 빌드 할 때 런타임에 jaxb.properties가 누락 됨

  19. 19

    외래 키에서 두 테이블을 조인 할 때 FROM 절이 누락 됨

  20. 20

    Angular에서 사용할 때 Material Design Lite 아이콘이 누락 됨

  21. 21

    브라우저가 상주 할 때 헤더 배경의 일부가 누락 됨

  22. 22

    DataFrame에서 Series를 구성 할 때 첫 번째 행이 누락 됨

  23. 23

    재부팅 후 ~ / .bashrc 파일이 누락 됨

  24. 24

    ggplot2에서`facet_wrap`을 사용할 때 일부 플롯 주위에 상자를 그립니다.

  25. 25

    Visual Studio Xamarin에서 프로젝트를 만들 때 Entitlements.plist 파일이 누락 됨

  26. 26

    .NET VS 2010에서 웹 애플리케이션 프로젝트를 게시 할 때 .json 파일 누락

  27. 27

    수직 프로파일을 플로팅 할 때 ggplot2에서 y와 x를 뒤집는 문제

  28. 28

    "Live USB"로 부팅 할 때 "누락 된 운영 체제"

  29. 29

    Python Selenium을 사용할 때 데이터 / 내용이 누락 됨

뜨겁다태그

보관