खोज…


परिचय

आर सत्र में सीधे डेटा प्राप्त करें। आर की अच्छी विशेषताओं में से एक डेटा अधिग्रहण में आसानी है। आर पैकेज का उपयोग करते हुए कई तरीके के डेटा प्रसार हैं।

अंतर्निहित डेटासेट

R में निर्मित डेटासेट का एक विशाल संग्रह है। आमतौर पर, उनका उपयोग शिक्षण उद्देश्यों के लिए त्वरित और आसानी से प्रतिलिपि प्रस्तुत करने योग्य उदाहरण बनाने के लिए किया जाता है। अंतर्निहित डेटासेट को सूचीबद्ध करने वाला एक अच्छा वेब-पेज है:

https://vincentarelbundock.github.io/Rdatasets/datasets.html


उदाहरण

स्विस फर्टिलिटी एंड सोशियोकोनोमिक इंडिकेटर्स (1888) डेटा। आइए ग्रामीणता और कैथोलिक आबादी के वर्चस्व के आधार पर प्रजनन क्षमता में अंतर की जाँच करें।

library(tidyverse) 

swiss %>% 
        ggplot(aes(x = Agriculture, y = Fertility, 
                   color = Catholic > 50))+
        geom_point()+
        stat_ellipse()

बिल्ट-इन

पैकेज के भीतर डेटासेट

ऐसे पैकेज हैं जो डेटा शामिल करते हैं या विशेष रूप से डेटासेट को प्रसारित करने के लिए बनाए जाते हैं। जब ऐसा पैकेज लोड किया जाता है ( library(pkg) ), तो संलग्न डेटासेट R ऑब्जेक्ट के रूप में उपलब्ध हो जाते हैं; या उन्हें data() फ़ंक्शन के साथ बुलाया जाना चाहिए।


Gapminder

देशों के विकास पर एक अच्छा डेटासेट।

library(tidyverse)
library(gapminder)

gapminder %>% 
        ggplot(aes(x = year, y = lifeExp, 
                   color = continent))+
        geom_jitter(size = 1, alpha = .2, width = .75)+
        stat_summary(geom = "path", fun.y = mean, size = 1)+
        theme_minimal()

Gapminder


विश्व जनसंख्या संभावनाएं 2015 - संयुक्त राष्ट्र जनसंख्या विभाग

आइए देखें कि 1950-2015 में जन्म के समय दुनिया किस तरह पुरुष जीवन प्रत्याशा में परिवर्तित हुई है।

library(tidyverse)
library(forcats)
library(wpp2015)
library(ggjoy)
library(viridis)
library(extrafont)

data(UNlocations)

countries <- UNlocations %>% 
        filter(location_type == 4) %>% 
        transmute(name = name %>% paste()) %>% 
        as_vector()

data(e0M) 

e0M %>% 
        filter(country %in% countries) %>% 
        select(-last.observed) %>% 
        gather(period, value, 3:15) %>% 
        ggplot(aes(x = value, y = period %>% fct_rev()))+
        geom_joy(aes(fill = period))+
        scale_fill_viridis(discrete = T, option = "B", direction = -1, 
                           begin = .1, end = .9)+
        labs(x = "Male life expectancy at birth",
             y = "Period",
             title = "The world convergence in male life expectancy at birth since 1950",
             subtitle = "Data: UNPD World Population Prospects 2015 Revision",
             caption = "ikashnitsky.github.io")+
        theme_minimal(base_family =  "Roboto Condensed", base_size = 15)+
        theme(legend.position = "none")

WPP 2015

खुले डेटाबेस तक पहुँचने के लिए पैकेज

कुछ डेटाबेस तक पहुँचने के लिए कई पैकेज बनाए गए हैं। उनका उपयोग करना डेटा को पढ़ने / बनाने पर समय का एक गुच्छा बचा सकता है।


यूरोस्टेट

हालांकि eurostat पैकेज में एक फ़ंक्शन search_eurostat() , यह सभी प्रासंगिक डेटासेट उपलब्ध नहीं है। यह, यूरोस्टैट वेबसाइट: कंट्री डेटाबेस या रीजनल डेटाबेस में मैन्युअल रूप से डेटासेट के कोड को ब्राउज़ करना अधिक सुविधाजनक है। यदि स्वचालित डाउनलोड काम नहीं करता है, तो डेटा को बल्क डाउनलोड सुविधा के माध्यम से मैन्युअल रूप से पकड़ा जा सकता है।

library(tidyverse)
library(lubridate)
library(forcats)
library(eurostat)
library(geofacet)
library(viridis)
library(ggthemes)
library(extrafont)

# download NEET data for countries
neet <- get_eurostat("edat_lfse_22")

neet %>% 
        filter(geo %>% paste %>% nchar == 2,
               sex == "T", age == "Y18-24") %>%
        group_by(geo) %>% 
        mutate(avg = values %>% mean()) %>% 
        ungroup() %>% 
        ggplot(aes(x = time %>% year(),
                   y = values))+
        geom_path(aes(group = 1))+
        geom_point(aes(fill = values), pch = 21)+
        scale_x_continuous(breaks = seq(2000, 2015, 5),
                           labels = c("2000", "'05", "'10", "'15"))+
        scale_y_continuous(expand = c(0, 0), limits = c(0, 40))+
        scale_fill_viridis("NEET, %", option = "B")+
        facet_geo(~ geo, grid = "eu_grid1")+
        labs(x = "Year",
             y = "NEET, %",
             title = "Young people neither in employment nor in education and training in Europe",
             subtitle = "Data: Eurostat Regional Database, 2000-2016",
             caption = "ikashnitsky.github.io")+
        theme_few(base_family =  "Roboto Condensed", base_size = 15)+
        theme(axis.text = element_text(size = 10),
              panel.spacing.x = unit(1, "lines"),
              legend.position = c(0, 0),
              legend.justification = c(0, 0))

यूरोस्टेट

प्रतिबंधित डेटा तक पहुंचने के लिए पैकेज

मानव मृत्यु दर डेटाबेस

ह्यूमन मॉर्टेलिटी डेटाबेस मैक्स प्लैंक इंस्टीट्यूट फॉर डेमोग्राफिक रिसर्च की एक परियोजना है जो उन देशों के लिए मानव मृत्यु दर डेटा इकट्ठा और पूर्व-प्रक्रिया करता है, जहां कम या ज्यादा विश्वसनीय आंकड़े उपलब्ध हैं।

# load required packages
library(tidyverse) 
library(extrafont)
library(HMDHFDplus)

country <- getHMDcountries()

exposures <- list()
for (i in 1: length(country)) {
        cnt <- country[i]
        exposures[[cnt]] <- readHMDweb(cnt, "Exposures_1x1", user_hmd, pass_hmd)
        # let's print the progress
        paste(i,'out of',length(country)) 
} # this will take quite a lot of time

कृपया ध्यान दें, तर्कों user_hmd और pass_hmd मानव मृत्यु डेटाबेस की वेबसाइट पर लॉगिन क्रेडेंशियल हैं। डेटा तक पहुंचने के लिए, किसी को http://www.mortality.org/ पर एक खाता बनाने और readHMDweb() फ़ंक्शन के लिए अपनी स्वयं की साख प्रदान करने की readHMDweb()

sr_age <- list()

for (i in 1:length(exposures)) {
        di <- exposures[[i]]
        sr_agei <- di %>% select(Year,Age,Female,Male) %>% 
                filter(Year %in% 2012) %>%
                select(-Year) %>%
                transmute(country = names(exposures)[i],
                          age = Age, sr_age = Male / Female * 100)
        sr_age[[i]] <- sr_agei
}
sr_age <- bind_rows(sr_age)

# remove optional populations
sr_age <- sr_age %>% filter(!country %in% c("FRACNP","DEUTE","DEUTW","GBRCENW","GBR_NP"))

# summarize all ages older than 90 (too jerky)
sr_age_90 <- sr_age %>% filter(age %in% 90:110) %>% 
        group_by(country) %>% summarise(sr_age = mean(sr_age, na.rm = T)) %>%
        ungroup() %>% transmute(country, age=90, sr_age)

df_plot <- bind_rows(sr_age %>% filter(!age %in% 90:110), sr_age_90)

# finaly - plot
df_plot %>% 
        ggplot(aes(age, sr_age, color = country, group = country))+
        geom_hline(yintercept = 100, color = 'grey50', size = 1)+
        geom_line(size = 1)+
        scale_y_continuous(limits = c(0, 120), expand = c(0, 0), breaks = seq(0, 120, 20))+
        scale_x_continuous(limits = c(0, 90), expand = c(0, 0), breaks = seq(0, 80, 20))+
        xlab('Age')+
        ylab('Sex ratio, males per 100 females')+
        facet_wrap(~country, ncol=6)+
        theme_minimal(base_family = "Roboto Condensed", base_size = 15)+
        theme(legend.position='none',
              panel.border = element_rect(size = .5, fill = NA))

HMD



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow