3 Przetwarzanie danych w R
3.1 Wstępna eksploracja danych
str(gapminder)
#wyświetlanie początkowych wierszy, argument n definiuje ile wierszy ma być wyświetlonych (domyślnie 5)
head(gapminder)
head(gapminder, n = 2)
#wyświetlanie n ostatnich wierszy, argument n definiuje ile wierszy ma być wyświetlonych (domyślnie 5)
tail(gapminder)
#wyświetlanie nazw zmiennych, nazw kolumn oraz nazw wierszy
names(gapminder)
colnames(gapminder)
rownames(gapminder)
#liczba kolumn
ncol(gapminder)
#liczba wierszy
nrow(gapminder)
#wyświetlanie unikalnych wartości
unique(gapminder$continent)
#typ/klasa zmiennej
class(gapminder$continent)
#Liczność poszczególnych kategorii
table(gapminder$continent)
#Podstawowe statystyki zbioru danych
summary(gapminder)
#Podstawowe statystyki zmiennej lifeExp (oczekiwana długość życia)
summary(gapminder$lifeExp)Uwaga! W ten sposób zaznaczane będą w tekście zadania do wykonania odnoszące się do omówionego powyżej fragmentu materiału.
Wczytaj do R zbiór danych z pliku
dane.csvoraz przypisz go do obiektu o nazwiedane. Wyświetl 4 ostatnie wiersze zbioru danychdane. Wyświetl unikalne wartości dla kolumnycountry. Wyświetl podstawowe statystyki zbioru danychdane.
3.2 Indeksowanie
3.2.1 wektory
W R pierwszy element wektora indeksowany jest jako 1.
v <- c(a = 1, b = 2, c = 3, d = 4, e = 5)
v
v[1]
v[-1]
v[1:3]
v[v>4]
v['a']3.2.2 data.frame
Indeksowanie ramki danych ma postać: obiekt[wiersz, kolumna].
Wybór jednej zmiennej wykonywany jest za pomocą operatora ‘$’ (np. gapminder$continent)
gapminder[1,]
gapminder[,1]
gapminder[3, 4]
gapminder[, -1]
gapminder[, c(2,3)]
gapminder[gapminder$year == 1952, ]
gapminder[gapminder$year == 1952 & gapminder$continent=='Asia',]
gapminder[gapminder$year == 1952, c(5)]
gapminder[gapminder$pop > 10000000, ]
gapminder[gapminder$continent != 'Asia',]
gapminder[gapminder$continent %in% c('Asia', 'Africa'),]Używając indeksowania wybierz ze zbioru danych gapminder dane dla kontynentu Europa.
Używając indeksowania wybierz ze zbioru danych gapminder dane dla kontynentu Azja (Asia); ogranicz wybór tylko do kolumn pop oraz lifeExp.
Używając indeksowania wybierz ze zbioru danych gapminder obserwacje, dla których oczekiwana długość trwania życia przekroczyła 75 lat
Używając indeksowania wybierz ze zbioru danych gapminder dane dla lat 1952 oraz 2007.
3.3 Selekcja oraz tworzenie nowej zmiennej
3.3.1 Indeksowanie
gapminder[1,]
gapminder[,1]3.3.2 Selekcja danych o określonej wartości
gapminder[gapminder$year == 1952, ]
gapminder[gapminder$year == 1952 & gapminder$continent == 'Asia',]
gapminder[gapminder$year == 1952, c(5)]
gapminder[gapminder$pop > 10000000, ]3.3.3 Funkcja subset()
dane_sel <- subset(gapminder, continent == "Europe" & year == 1952, select = c(country, pop))
dane_selection <- subset(gapminder, continent == "Europe" & year == 1952, select = c(country:pop))W jakich latach w Australii długość trwania życia wynosiła powyżej 75 lat?
3.3.4 Tworzenie nowej zmiennej
dane1952 <- gapminder[gapminder$year == 1952, ]gapminder$pop_mln <- gapminder$pop / 1000000
head(gapminder, 3)3.3.5 Porządkowanie
dane_2 <- gapminder[order(gapminder$year), ]
#sortowanie względemm dwóch zmiennych
dane_2 <- gapminder[order(gapminder$continent, gapminder$country), ]
head(dane_2)
#sortowanie według kraju (rosnąco) oraz roku (malejąco)
dane_2 <- gapminder[order(gapminder$country, -gapminder$year),]
head(dane_2)W którym roku liczba ludności Nowej Zelandii (New Zealand) przekroczyła 3 miliony?