1 Zakład Bioinformatyki, Instytut Informatyki, Uniwersytet w Białymstoku
Podstawą i inspiracją do napisania tego notebooka jest rodział 14.3 książki Jareda P. Landera “R dla każdego. Zaawansowane analizy i grafika statystyczna” (zobacz [1]). Dane wykorzystane pochodzą również ze strony Jareda P. Landera (zobacz [2]).
Korzystamy z
Zaczynamy od wyczyszczenia środowiska ze zmiennych
Importujemy dane w postaci pliku zip poleceniem download.file i następnie rozpakowujemy archiwum poeceniem uzip.
trying URL 'http://jaredlander.com/data/US_Foreign_Aid.zip'
Content type 'application/zip' length 226642 bytes (221 KB)
downloaded 221 KB
Zapisujemy nazwy plików z rozszerzeniem csv do wektora poleceniem dir.
[1] "US_Foreign_Aid_00s.csv" "US_Foreign_Aid_10s.csv" "US_Foreign_Aid_40s.csv"
[4] "US_Foreign_Aid_50s.csv" "US_Foreign_Aid_60s.csv" "US_Foreign_Aid_70s.csv"
[7] "US_Foreign_Aid_80s.csv" "US_Foreign_Aid_90s.csv"
Wczytujemy bibliotekę stringr w celu pracy z napisami.
Pętlą for iterując po nazwach pliku tworzymy
Wczytujemy bibliotekę dyplyr do pracy z danymi (w tym do przetwarzania potokowego - operator pipe - %>%).
Uwaga. Używamy opcji wstawek chunk do nie wyświetlania ostrzeżeń i informacji.
Wczytujemy bibliotekę reshape2 do przekształacania danych (postacie wąska i szeroka).
Funkcją melt przekształcamy dane z postaci szerokiej do wąskiej.
melt00 <- melt(Aid_00s,
id.vars = c("Country.Name", "Program.Name"),
variable.name = "Year",
value.name = "Dollars")
Funkcją head oglądamy początkowe wiersze danych (6 wierszy).
Z wartości zmiennej Year zostawiamy tylko same cyfry, zamieniając napis na liczbę poleceniami str_extract z bibilioteki stringr i as.numeric wykorzystując wyrażenia regularne (polecenie \d+). Przy okazji zmienia się typ kolumny. Nadpisujemy kolumnę Year używając operatora odwołania do kolumny $ i przypisania <-.
I znowu oglądamy początkowe wiersze danych.
Zapisujemy wszystkie dane z przestrzeni nazw (środowiska) poleceniem save.
Ponieważ polecenie head wyświetla tylko kilka początkowych wierszy danych (domyślnie 6) nie jest możliwe oglądanie wszystkich dany w przeglądarce (plik html).
Można temu zapobiec wykorzystując bibliotekę DT.
Wczytujemy bibilotekę DT.
Możemy w końcu oglądać wszystkie dane na stronie internetowej (budowa tablicy interaktywnej poleceniem datatable).
Poleceniem dcast z biblioteki Reshape2 formatujemy dane z postaci wąskiej do postaci szerokiej.
Oglądamy początkowe wiersze danych.
Do dalszego wykorzystania zapisujemy dane ze zbioru Aid_00 do pliku binarnego Aid_00.RData.
I jeszcze raz tablica interaktywna z danymi w postaci szerokiej.
Na koniec usuwamy ze środowiska funkcje z użytywanych bibliotek poleceniem detach.
1. Lander JP (2018) R dla każdego. Zaawansowane analizy i grafika statystyczna, Warszawa, APN Promise.
2. Lander JP (2020) Data.
3. R Core Team (2019) R: A Language and Environment for Statistical Computing, Vienna, Austria, R Foundation for Statistical Computing.
4. Wickham H (2019) stringr: Simple, Consistent Wrappers for Common String Operations.
5. Wickham H, François R, Henry L, et al. (2020) dplyr: A grammar of Data Manipulation.
6. Wickham H (2007) Reshaping Data with the reshape Package. Journal of Statistical Software 21: 1–20.
7. Xie Y, Cheng J, Tan X (2020) DT: A Wrapper of the JavaScript Library ’DataTables’.
8. Xie Y, Allaire JJ, Grolemund G (2018) R Markdown: The Definitive Guide, Boca Raton, Florida, Chapman; Hall/CRC.
9. Allaire J, Xie Y, McPherson J, et al. (2020) rmarkdown: Dynamic Documents for R.