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.csv oraz przypisz go do obiektu o nazwie dane. Wyświetl 4 ostatnie wiersze zbioru danych dane. Wyświetl unikalne wartości dla kolumny country. Wyświetl podstawowe statystyki zbioru danych dane.

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?