tidycovid19: novos dados e documentação

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon O canto de um nerd de contabilidade e ciência de dados, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

Uma atualização recente do pacote {tidycovid19} traz dados sobre testes, dados de casos alternativos, alguns dados regionais e documentação adequada dos dados. Usando tudo isso, você pode usar o pacote para explorar as associações de (o levantamento de) medidas governamentais, o comportamento do cidadão e o spread do Covid-19.

Instalação

O pacote está hospedado no Github. Como as fontes de dados subjacentes alteram seus formatos e métodos de acesso com frequência, não tenho planos de publicar o pacote no CRAN por enquanto. Portanto, para instalar o pacote, você precisa ter o pacote {remotes} instalado. Em seguida, você pode instalar e anexar {tidycovid19} junto com alguns outros pacotes que precisaremos abaixo:

remotes::install_github("joachim-gassen/tidycovid19")
library(tidycovid19)
library(tidyverse)
library(ggrepel)
library(gghighlight)
library(zoo)

Fontes de dados incluídas

Até agora, os pacotes contêm o código para baixar dados de nove fontes de dados autorizadas:

  • Dados Covid-19 do Repositório CSith Github da Johns Hopkins University. Esses dados se tornaram um recurso padrão para pesquisadores e o público em geral
    interessado em avaliar a disseminação global do vírus. Os dados são fornecidos nos níveis de país e sub-país.
  • Dados de casos do Covid-19 fornecidos pelo Centro Europeu de Prevenção e Controle de Doenças. Os dados são atualizados diariamente e contêm os dados públicos disponíveis mais recentes sobre o número de novos casos de Covid-19 relatados por dia e por país.
  • Testando dados coletados pela equipe “Nosso mundo em dados”. Essa equipe coleta sistematicamente dados dos testes Covid-19 de várias fontes nacionais.
  • O governo mede o conjunto de dados fornecido pelo Projeto de Capacidades de Avaliação (ACAPS). Esses dados permitem que os pesquisadores estudem o efeito de intervenções não farmacêuticas no desenvolvimento do vírus.
  • Oxford Covid-19 Government Response Tracker, uma fonte de dados alternativa para intervenções governamentais.
  • Relatórios de tendências de mobilidade fornecidos pela Apple relacionados ao Covid-19. Os dados são fornecidos nos níveis de país e sub-país.
  • Dados dos relatórios de mobilidade da comunidade COVID-19 do Google. Esses dados estão disponíveis nos níveis de país, região e condado dos EUA.
  • Dados do Google Trends no volume de pesquisa para o termo “coronavírus” Esses dados podem ser usados ​​para avaliar a atenção do público ao Covid-19 em todos os países e ao longo do tempo em um determinado país. Os dados estão disponíveis no nível do país, regional e cidade, mas a disponibilidade varia entre os países.
  • Informações em nível de país fornecidas pelo Banco Mundial. Esses dados permitem que os pesquisadores calculem medidas per capita do vírus disseminado e avaliem a associação de variáveis ​​macroeconômicas com o desenvolvimento do vírus.

Cada dado pode ser baixado separadamente, usando sua função específica de download (download_..._data()) Por padrão, as funções baixam os dados da fonte autorizada e fornecem algumas mensagens de diagnóstico e uma breve descrição dos dados. Você pode desligar as funções adicionando o silent = TRUE parâmetro. Se você usar o cached = TRUE parâmetro, os dados serão baixados do repositório do pacote Github, acelerando consideravelmente as coisas. Os dados no repositório do Github são atualizados diariamente.

Leia Também  Cloud demonstra um lado positivo para organizações de Serviços Financeiros que buscam melhorar a colaboração na cadeia de suprimentos

download_merged_data() fornece um quadro de dados no dia do país reunindo dados de várias fontes. O quadro de dados tidycovid19_variable_definitions contém definições de variáveis ​​para o quadro de dados mesclado.

merged %
  select(var_name, var_def) %>%
  kable() %>% 
  kable_styling()

var_name

var_def

iso3c

Nome do país

país

Código ISO3c do país, conforme definido pela ISO 3166-1 alfa-3

encontro

Data do calendário

confirmado

Casos confirmados de Covid-19, conforme relatado por JHU CSSE (acumulado)

mortes

Mortes relacionadas a Covid-19, conforme relatado por JHU CSSE (acumulado)

recuperado

Recuperações do Covid-19, conforme relatado por JHU CSSE (acumulado)

ecdc_cases

Casos de Covid-19 relatados pelo ECDC (acumulado)

ecdc_deaths

Mortes relacionadas a Covid-19, conforme relatado pelo ECDC (acumulado)

total_tests

Contagem de testes acumulados conforme relatado por Our World in Data

tests_units

Definição do que constitui um “teste”

soc_dist

Número de medidas de distanciamento social relatadas pela ACAPS, líquidas de restrições levantadas

mov_rest

Número de restrições de movimento relatadas até o momento pelo ACAPS, líquido de restrições levantadas

pub_health

Número de medidas de saúde pública relatadas até o momento pelo ACAPS, líquido de restrições levantadas

gov_soc_econ

Número de medidas socioeconômicas relatadas até o momento pelo ACAPS, líquido de restrições levantadas

confinamento

Número de medidas de bloqueio informadas pela ACAPS, líquidas de restrições levantadas

apple_mtr_driving

Uso do Apple Maps para instruções de direção, como porcentagem * 100 em relação à linha de base de 13 de janeiro de 2020

apple_mtr_walking

Uso do Apple Maps para rotas a pé, como porcentagem * 100 em relação à linha de base de 13 de janeiro de 2020

apple_mtr_transit

Uso do Apple Maps para rotas de transporte público, como porcentagem * 100 em relação à linha de base de 13 de janeiro de 2020

gcmr_retail_recreation

Dados de relatórios de mobilidade da comunidade do Google referentes à frequência com que as pessoas visitam locais de varejo e recreação, expressas como uma porcentagem * 100 de alteração em relação ao período da linha de base 3 de janeiro a 6 de fevereiro de 2020

gcmr_grocery_pharmacy

Dados de relatórios de mobilidade da comunidade do Google referentes à frequência com que as pessoas visitam supermercados e farmácias expressas como uma porcentagem * 100 de alteração em relação ao período da linha de base 3 de janeiro a 6 de fevereiro de 2020

gcmr_parks

Dados de relatórios de mobilidade da comunidade do Google referentes à frequência com que as pessoas visitam parques, expressas como uma porcentagem * 100 de alteração em relação ao período da linha de base, de 3 de janeiro a 6 de fevereiro de 2020

gcmr_transit_stations

Dados de relatórios de mobilidade da comunidade do Google referentes à frequência em que as pessoas visitam estações de transporte expresso como uma porcentagem * 100 de alteração em relação ao período da linha de base 3 de janeiro a 6 de fevereiro de 2020

gcmr_workplaces

Dados de relatórios de mobilidade da comunidade do Google referentes à frequência com que as pessoas visitam locais de trabalho expressos como uma porcentagem * 100 de alteração em relação ao período da linha de base 3 de janeiro a 6 de fevereiro de 2020

gcmr_residential

Dados de relatórios de mobilidade da comunidade do Google referentes à frequência com que as pessoas visitam locais residenciais, expressas como uma porcentagem * 100 de alteração em relação ao período da linha de base 3 de janeiro a 6 de fevereiro de 2020

gtrends_score

Volume de pesquisa do Google para o termo “coronavírus”, relativo ao longo do tempo com o país no máximo na escala de 100

gtrends_country_score

Volume de pesquisa no Google em nível de país para o termo “coronavírus” em um período a partir de 1º de janeiro de 2020, relativo entre países com o país com o maior volume de pesquisa na escala de 100 (tempo estável)

região

Região do país classificada pelo Banco Mundial (estável no tempo)

renda

Grupo de renda do país classificado pelo Banco Mundial (estável no tempo)

população

População do país, conforme informado pelo Banco Mundial (identificador original ‘SP.POP.TOTL’, com estabilidade de tempo)

land_area_skm

Massa terrestre do país em quilômetros quadrados, conforme informado pelo Banco Mundial (identificador original ‘AG.LND.TOTL.K2’, com estabilidade de tempo)

pop_density

Densidade populacional do país, conforme relatado pelo Banco Mundial (identificador original “EN.POP.DNST”, com estabilidade de tempo)

pop_largest_city

População na maior área metropoliana do país, conforme relatado pelo Banco Mundial (identificador original “EN.URB.LCTY”, com estabilidade de tempo)

expectativa de vida

Expectativa de vida média no nascimento de cidadãos do país em anos, conforme relatado pelo Banco Mundial (identificador original ‘SP.DYN.LE00.IN’, com estabilidade de tempo)

gdp_capita

Produto interno bruto per capita do país, medido em US $ 2010, conforme relatado pelo Banco Mundial (identificador original ‘NY.GDP.PCAP.KD’, com estabilidade de tempo)

timestamp

Data e hora em que os dados foram coletados de fontes autorizadas

Métodos de visualização incluídos

Com base nesses dados, você pode usar as funções de visualização do pacote para produzir rapidamente visuais da propagação. A função plot_covid19_spread() permite muitos
opções de personalização. Vejo:

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
plot_covid19_spread(
  merged, type = "deaths", min_cases = 1000, edate_cutoff = 60, 
  cumulative = FALSE, change_ave = 7, 
  highlight = c("USA", "ESP", "ITA", "FRA", "GBR", "DEU", "BRA", "RUS", "TUR")  
)

Para personalizá-lo, você também pode aumentar sua variante brilhante, personalizar o gráfico até que ele atenda às suas necessidades e depois exportar o código para a área de transferência com um simples clique.

shiny_covid19_spread()

Para muitos países, a função plot_covid19_spread() fornece uma maneira alternativa de como visualizar a propagação.

plot_covid19_stripes(merged, type = "deaths", min_cases = 1000, cumulative = FALSE)

E, se você gosta de mapas (quem não gosta?), Também pode visualizar a propagação dessa maneira.

map_covid19(merged)

A propósito, se você fornecer vários dias para map_covid19() produzirá um mapa animado, mas isso levará um tempo para ser concluído.

Algumas coisas que você pode fazer com os dados

Medidas governamentais ao longo do tempo

Os dados do ACAPS permitem uma rápida impressão das restrições governamentais implementadas e levantadas ao longo do tempo.

acaps <- download_acaps_npi_data(cached = TRUE, silent = TRUE)
df %
  rename(date = date_implemented) %>%
  mutate(nobs = 1*(log_type == "Introduction / extension of measures") -
           1*(log_type != "Introduction / extension of measures")) %>%
  select(iso3c, date, log_type, category, nobs) %>%
  filter(date % filter(log_type == "Introduction / extension of measures"),
                 position = "stack", binwidth = 24*3600*7) +
  geom_histogram(data = df %>% filter(log_type != "Introduction / extension of measures"),
                 position = "stack", binwidth = 24*3600*7) +
  theme_minimal() +
  labs(title = "Implementation and Lifting of Interventions over Calendar Time",
       x = NULL,
       y = "Number of interventions",
       fill = "Intervention") +
  theme(legend.position = c(0.25, 0.8),
        legend.background = element_rect(fill = "white", color = NA),
        legend.title = element_text(size = 8),
        legend.text = element_text(size = 7))

Associação entre testes e mortes

Existe uma associação entre os testes durante os primeiros 30 dias da propagação e a quantidade de mortes que um país observa?

early_tests %
  group_by(iso3c) %>%
  filter(population > 10e6) %>%
  filter(confirmed > 0) %>%
  filter(!all(is.na(total_tests))) %>%
  mutate(total_tests = na.approx(c(0, total_tests), rule = 2)[-1]) %>%
  filter(date - min(date) %
  summarise(early_tests = unique(1e5*max(total_tests, na.rm = TRUE)/population)) %>%
  filter(!is.na(early_tests))
  
deaths %  
  group_by(iso3c) %>%
  filter(deaths > 1000) %>%
  filter(population > 10e6) %>%
  summarise(deaths = unique(1e5*max(deaths, na.rm = TRUE)/population)) 

deaths %>% left_join(early_tests, by = "iso3c") %>%
  filter(!is.na(early_tests)) %>%
  ggplot(aes(x = early_tests, y = deaths)) + 
  geom_point() +
  theme_minimal() + 
  geom_label_repel(aes(label = iso3c)) +
  scale_x_log10() +
  scale_y_log10() +
  labs(
    x = "Tests within the first 30 days by 100,000 inhabitants (interpolated)",
    y = "Deaths per 100,000 inhabitants",
    caption = "Case data: JHU CSSE, Test data: Our World in Data."
  )

Variação regional no comportamento individual

As medidas de distanciamento social funcionam de maneira diferente na Alemanha Oriental e Ocidental?

gcmr <- download_google_cmr_data(type = "country_region", cached = TRUE, silent = TRUE)

east_regions <- c("Berlin", "Brandenburg", "Mecklenburg-Vorpommern",
          "Saxony", "Saxony-Anhalt", "Thuringia")

df % 
  filter(iso3c == "DEU") %>%
  mutate(east = ifelse(region %in% east_regions, "East Germany", "West Germany")) %>%
  select(-iso3c, -region, -timestamp) %>%
  group_by(date, east) %>%
  summarise_all(mean)

ggplot(df, aes(x = date, y = retail_recreation, color = east)) +
  geom_line() +
  theme_minimal() +
  labs(
    x = NULL,
    y = "Percentage change of visits in retail shoppingnand recreational areas",
    caption = "Movement data: Google CMR."
  ) + 
  gghighlight(TRUE, label_key = east)

A mesma análise para os dados da Apple (mas sem Berlim, pois é classificada como uma cidade nos dados da Apple)

amtr <- download_apple_mtr_data(type = "country_region", cached = TRUE, silent = TRUE)

east_regions <- c("Brandenburg", "Mecklenburg-Vorpommern",
          "Saxony", "Saxony-Anhalt", "Thuringia")

df % 
  filter(iso3c == "DEU") %>%
  mutate(east = ifelse(region %in% east_regions, "East Germany", "West Germany")) %>%
  select(-iso3c, -region, -timestamp) %>%
  group_by(date, east) %>%
  summarise_all(mean)

ggplot(df, aes(x = date, y = driving, color = east)) +
  geom_line() +
  theme_minimal() +
  labs(
    x = NULL,
    y = "Percentage change of Apple Map requestsnfor driving directions",
    caption = "Movement data: Apple MTR."
  ) + 
  gghighlight(TRUE, label_key = east)

Compare os relatórios de tendências de mobilidade da Apple nas principais cidades da Europa

Para instruções de direção:

amtr <- download_apple_mtr_data(type = "country_city", cached = TRUE, silent = TRUE)

cities <- c("Berlin", "London", "Madrid", 
            "Paris", "Rome", "Stockholm")

df % 
  filter(city %in% cities) %>%
  select(-iso3c, -timestamp) %>%
  group_by(date, city) %>%
  summarise_all(mean)

ggplot(df, aes(x = date, y = driving, color = city)) +
  geom_line() +
  theme_minimal() +
  labs(
    x = NULL,
    y = "Percentage change of Apple Mapnrequests for driving directions",
    caption = "Movement data: Apple MTR."
  ) + 
  gghighlight(TRUE, label_key = city)

E para instruções de transporte público:

ggplot(df, aes(x = date, y = transit, color = city)) +
  geom_line() +
  theme_minimal() +
  labs(
    x = NULL,
    y = "Percentage change of Apple Map requestsnfor public transport directions",
    caption = "Movement data: Apple MTR."
  ) + 
  gghighlight(TRUE, label_key = city)

Empacotando

Espero que essa rápida caminhada tenha ajudado você a avaliar o conteúdo antigo e novo do pacote {tidycovid19}. Existem mais casos de uso no arquivo example_code.R do repositório gidub tidycovid19.

Todos: aproveite, fique bem e mantenha #FlattenTheCurve!

var vglnk = {key: ‘949efb41171ac6ec1bf7f206d57e90b8’};

(função (d, t) {
var s = d.createElement
s.src = ‘//cdn.viglink.com/api/vglnk.js’;
var r = d.getElementsByTagName
} (documento, ‘script’));

Para Deixe um comentário para o autor, siga o link e comente no blog: O canto de um nerd de contabilidade e ciência de dados.

R-bloggers.com oferece atualizações diárias por email sobre notícias e tutoriais do R sobre o aprendizado do R e muitos outros tópicos. Clique aqui se você deseja publicar ou encontrar um emprego em ciência da dados / R.


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br