Zadanie 1. Utwórz wektor danych “wiek” (w latach). Każdy z nich 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<- as.factor(ifelse(wiek>30,0,1))
etykiety<-c(wysokie=0,niskie=1)
ryzyko<-factor(ryzyko,levels = etykiety, labels = names(etykiety))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("Grupa1","Grupa2")
nazwa2<-c("wiek","ryzyko")
tablica <-array(c(unlist(ramka[1:5,]),unlist(ramka[6:10,])),dim=c(5,2,2),dimnames=list(NULL,nazwa2,nazwy))
tablica## , , Grupa1
##
## wiek ryzyko
## [1,] 60 1
## [2,] 50 1
## [3,] 40 1
## [4,] 36 1
## [5,] 33 1
##
## , , Grupa2
##
## wiek ryzyko
## [1,] 25 2
## [2,] 24 2
## [3,] 23 2
## [4,] 19 2
## [5,] 15 2
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,1:2,1:2],"czerwony","biały","żółty")
print(lista)## [[1]]
## , , Grupa1
##
## wiek ryzyko
## [1,] 60 1
## [2,] 50 1
## [3,] 40 1
##
## , , Grupa2
##
## wiek ryzyko
## [1,] 25 2
## [2,] 24 2
## [3,] 23 2
##
##
## [[2]]
## [1] "czerwony"
##
## [[3]]
## [1] "biały"
##
## [[4]]
## [1] "żółty"
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)
B## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
A<-matrix(1:6,nrow=2,ncol=3)
A## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
C<-matrix(1:6,nrow = 3,ncol = 2)
C## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
## [3,] 3 6
D<-rbind(A,c(1,1,1))
D## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
## [3,] 1 1 1
E<-cbind(C,c(1,1,1))
E## [,1] [,2] [,3]
## [1,] 1 4 1
## [2,] 2 5 1
## [3,] 3 6 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).
##średnia
mean(tablica[,1,1])## [1] 43.8
mean(tablica[,1,2])## [1] 21.2
##odchylenia
sd(tablica[,1,1])## [1] 11.09955
sd(tablica[,1,2])## [1] 4.147288
##kwantyle
quantile(tablica[,1,1])## 0% 25% 50% 75% 100%
## 33 36 40 50 60
quantile(tablica[,1,2])## 0% 25% 50% 75% 100%
## 15 19 23 24 25
##skośność
install.packages("PerformanceAnalytics", repos = "http://cran.us.r-project.org")## Instalowanie pakietu w 'C:/Users/piotr/OneDrive/Dokumenty/R/win-library/4.1'
## (ponieważ 'lib' nie jest określony)
## package 'PerformanceAnalytics' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\piotr\AppData\Local\Temp\RtmpSErf8B\downloaded_packages
library("PerformanceAnalytics")## Warning: pakiet 'PerformanceAnalytics' został zbudowany w wersji R 4.1.3
## Ładowanie wymaganego pakietu: xts
## Ładowanie wymaganego pakietu: zoo
## Warning: pakiet 'zoo' został zbudowany w wersji R 4.1.2
##
## Dołączanie pakietu: 'zoo'
## Następujące obiekty zostały zakryte z 'package:base':
##
## as.Date, as.Date.numeric
##
## Dołączanie pakietu: 'PerformanceAnalytics'
## Następujący obiekt został zakryty z 'package:graphics':
##
## legend
skewness(tablica[,1,1])## [1] 0.5520247
skewness(tablica[,1,2])## [1] -0.6516986
##kurtoza
kurtosis(tablica[,1,1])## [1] -1.190928
kurtosis(tablica[,1,2])## [1] -1.118138
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).
par(mfrow=c(1,2))
hist(ramka$wiek[ramka$ryzyko=="niskie"],main="Histogram 1",col=rainbow(20),xlab="Wiek", ylab="Czestosc")
hist(ramka$wiek[ramka$ryzyko=="wysokie"],main="Histogram 2",col=rainbow(20), xlab="Wiek", ylab="Czestosc")boxplot(ramka$wiek[ramka$ryzyko=="niskie"], col=rainbow(20), main="Niskie ryzyko")
boxplot(ramka$wiek[ramka$ryzyko=="wysokie"], col=rainbow(2), main="Wysokie ryzyko")boxplot(ramka$wiek~ramka$ryzyko,col=rainbow(2),main="Ryzko razem")