Поиск и использование баз данных - PullRequest
0 голосов
/ 04 мая 2020

df <- read.csv ('https://raw.githubusercontent.com/ulklc/covid19-timeseries/master/countryReport/raw/rawReport.csv')

df8 <- read.csv ('https://raw.githubusercontent.com/hirenvadher954/Worldometers-Scraping/master/countries.csv')

В первом наборе данных есть страны, разделенные на континенты.

Во втором наборе данных есть страна и население информация.

Как можно объединить информацию о населении в наборе данных 2 в соответствии с континентальной информацией в наборе данных 1.

спасибо. Проблема в том, что в первом наборе данных страны написаны на континентальной основе. Страны и их население во втором наборе данных. Нужна ли мне информация о населении континентов? например, Европа = 400 миллионов, Азия = 2,4 миллиарда

1 Ответ

1 голос
/ 04 мая 2020

Используя пакет dplyr, все, что вам нужно сделать, это соединиться общей переменной, в данном случае названием страны. Поскольку в одном фрейме данных имя называется countryName, а в другом country_name, нам просто нужно указать, что они на самом деле принадлежат одной и той же переменной.

library(dplyr)
library(stringr)

df %>% 
    left_join(df8, by = c("countryName" = "country_name")) %>% 
    mutate(population = as.numeric(str_remove_all(population, ","))) %>% 
    group_by(countryName) %>%
    slice_tail(1) %>% 
    group_by(region) %>% 
    summarize(population = sum(population, na.rm = TRUE))

# A tibble: 5 x 2
  region   population
* <chr>         <dbl>
1 Africa   1304908713
2 Americas 1019607512
3 Asia     4592311527
4 Europe    738083720
5 Oceania    40731992
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...