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 —
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)
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
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
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
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"
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
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).