title: “Podstawowe operacje w R” author: “Maciej Hasulak” date: Opublikowano wt. paź 25 19:50:35 2022 output: html_document: toc: yes toc_depth: 4 highlight: espresso theme: journal number_sections: yes —

Rodzaje struktur danych

Wektory

Zadanie 1. Utwórz wektor danych “wiek” (w latach). Wektor ma mieć 10 obserwacji, dowolne wartości.

wiek <- c(15,25,40,50,60,23,33,36,19,24)

Czynnik

Zadanie 2. Utwórz wektor ryzyko jako czynnik (factor): dla wieku >30 lat “0” o etykiecie “wysokie”, a dla pozostałych “1” o etykiecie “niskie”. Wskazówka: można wykorzystać ifelse.

ryzyko <- factor (ifelse(wiek>30,0,1),
                  labels=c("wysokie","niskie"))
str(ryzyko)
##  Factor w/ 2 levels "wysokie","niskie": 2 2 1 1 1 2 1 1 2 2
levels(ryzyko)
## [1] "wysokie" "niskie"
ryzyko[3]
## [1] wysokie
## Levels: wysokie niskie

Ramka danych

Zadanie 3. Połącz wiek i ryzyko tworząc nową ramkę danych o nazwie “ramka”. Posortuj obserwacje wg wieku (malejąco).

ramka <-data.frame(wiek,ryzyko)
ramka <- ramka[order(-wiek),]
ramka
##    wiek  ryzyko
## 5    60 wysokie
## 4    50 wysokie
## 3    40 wysokie
## 8    36 wysokie
## 7    33 wysokie
## 2    25  niskie
## 10   24  niskie
## 6    23  niskie
## 9    19  niskie
## 1    15  niskie

Tablice

Zadanie 4. Utwórz tablicę “tablica” z wieku i ryzyka o wymiarach 5 wierszy, 2 kolumny (zmienne), 2 podgrupy o nazwie “Grupa 1.” oraz “Grupa 2”.

nazwy<- c("grupa 1.", "grupa 2.")
nazwy2 <- c("wiek", "ryzyko")
tablica <- array(c(unlist(ramka[1:5,]),
                   unlist(ramka[6:10,])),
                 dim=c(5,2,2),
                 dimnames=list(NULL,nazwy2, nazwy)
                 )
tablica[1:3,1,2]
## [1] 25 24 23

Listy

Zadanie 5. Utwórz listę “lista” zawierającą pierwsze 3 elementy każdej z grup w tablicy “tablica” oraz 3 kolory które najbardziej lubisz.

lista <- list(tablica[1:3,,],c("niebieski","czerwony","zieony"))
names(lista) <- c("tab","kolory")
lista$kolory[1]
## [1] "niebieski"
lista[2[1]]
## $kolory
## [1] "niebieski" "czerwony"  "zieony"

Macierze

Zadanie 6. Utwórz macierz kwadratową B z cyfr od 1 do 9; macierz kwadratową A 2x3 z cyfr od 1 do 6; macierz C 3x2 z cyfr od 1 do 6. Dodaj do macierzy A wiersz \[1,1,1\] jako macierz D oraz do macierzy C kolumnę \[1,1,1\] jako macierz E. Wyświetl tylko trzeci wiersz macierzy E i trzecią kolumnę macierzy D.

B <- matrix(1:9, nrow=3, ncol=3)
A <- matrix(1:6, nrow=2, ncol=3)
C <- matrix(1:6, nrow=3, ncol=2)
D <- rbind(A, c(1,1,1))
E <- cbind(C, c(1,1,1))
E[3,]
## [1] 3 6 1
D[,3]
## [1] 5 6 1

Analiza opisowa

Zadanie 7. Dokonaj pełnej analizy opisowej dla osób z grupy 1. oraz grupy 2. (średnia, odchylenia, kwartyle, skośność, kurtoza).

"grupa 1"<- c(33,36,40,50,60)
"grupa 2"<- c(15,24,25,23,19)
mean(`grupa 1`)
## [1] 43.8
mean(`grupa 2`)
## [1] 21.2
sd(`grupa 1`)
## [1] 11.0995
sd(`grupa 2`)
## [1] 4.14729
quantile(`grupa 1`)
##   0%  25%  50%  75% 100% 
##   33   36   40   50   60
quantile(`grupa 2`)
##   0%  25%  50%  75% 100% 
##   15   19   23   24   25
hist(`grupa 1`)

hist(`grupa 2`)

boxplot(`grupa 1`,`grupa 2`)

Zadanie 8. Przedstaw na histogramach oraz wykresach ramkowych rozkłady wieku osób z wysokim i niskim ryzykiem kredytowym (porównanie - 2 wykresy obok siebie).