Kody z rozdziału 2. Podstawy pracy z R ,,Przewodnika po programie R’’ wydanie 4.

Aby zainstalować i włączyć pakiet Przewodnik wykonaj poniższe dwie liniki.

devtools::install_github("pbiecek/PrzewodnikPakiet")
library("Przewodnik")

Rozdział 2.1

auta <- read.table("http://www.biecek.pl/R/auta.csv", 
        sep = ";", header = TRUE)
head(auta)
##     Marka Model  Cena KM Pojemnosc Przebieg  Paliwo Produkcja
## 1 Peugeot   206  8799 60      1100    85000 benzyna      2003
## 2 Peugeot   206 15500 60      1124   114000 benzyna      2005
## 3 Peugeot   206 11900 90      1997   215000  diesel      2003
## 4 Peugeot   206 10999 70      1868   165000  diesel      2003
## 5 Peugeot   206 11900 70      1398   146000  diesel      2005
## 6 Peugeot   206 19900 70      1398    86400  diesel      2006

Rozdział 2.2.1

c(2, 3, 5, 7, 11, 13, 17)
## [1]  2  3  5  7 11 13 17
-3:3
## [1] -3 -2 -1  0  1  2  3
seq(from = 0, to = 100, by = 11)
##  [1]  0 11 22 33 44 55 66 77 88 99
month.name
##  [1] "January"   "February"  "March"     "April"     "May"      
##  [6] "June"      "July"      "August"    "September" "October"  
## [11] "November"  "December"
LETTERS
##  [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q"
## [18] "R" "S" "T" "U" "V" "W" "X" "Y" "Z"
LETTERS[ 5:10 ]
## [1] "E" "F" "G" "H" "I" "J"
LETTERS[ c(1, 2, 9:14) ]
## [1] "A" "B" "I" "J" "K" "L" "M" "N"
co_drugi <- seq(from = 1, to = length(LETTERS), by = 2)
LETTERS[ co_drugi ]
##  [1] "A" "C" "E" "G" "I" "K" "M" "O" "Q" "S" "U" "W" "Y"
month.name[ -(5:9) ]
## [1] "January"  "February" "March"    "April"    "October"  "November"
## [7] "December"
wartosc <- c(pion = 1, skoczek = 3, goniec = 3, 
             wieza = 5, hetman = 9, krol = Inf)
wartosc[ c("goniec", "wieza") ]
## goniec  wieza 
##      3      5
wartosc[ 6:1 ]
##    krol  hetman   wieza  goniec skoczek    pion 
##     Inf       9       5       3       3       1
wartosc[ wartosc < 6 ]
##    pion skoczek  goniec   wieza 
##       1       3       3       5
wartosc[ c(4,5) ] <- c(6,7)
wartosc
##    pion skoczek  goniec   wieza  hetman    krol 
##       1       3       3       6       7     Inf
wartosc <- c(wartosc, nowa_bierka = 5)

Rozdział 2.2.2

library("Przewodnik")
head(koty_ptaki)
##   gatunek waga dlugosc predkosc habitat zywotnosc druzyna
## 1  Tygrys  300     2.5       60    Azja        25     Kot
## 2     Lew  200     2.0       80  Afryka        29     Kot
## 3  Jaguar  100     1.7       90 Ameryka        15     Kot
## 4    Puma   80     1.7       70 Ameryka        13     Kot
## 5 Leopard   70     1.4       85    Azja        21     Kot
## 6  Gepard   60     1.4      115  Afryka        12     Kot
koty_ptaki[ c(1, 3, 5) , ]
##   gatunek waga dlugosc predkosc habitat zywotnosc druzyna
## 1  Tygrys  300     2.5       60    Azja        25     Kot
## 3  Jaguar  100     1.7       90 Ameryka        15     Kot
## 5 Leopard   70     1.4       85    Azja        21     Kot
koty_ptaki[ c(1, 3, 5) , 2:5]
##   waga dlugosc predkosc habitat
## 1  300     2.5       60    Azja
## 3  100     1.7       90 Ameryka
## 5   70     1.4       85    Azja
koty_ptaki[ koty_ptaki[,"predkosc"] > 100, 
            c("gatunek", "predkosc", "dlugosc")]
##           gatunek predkosc dlugosc
## 6          Gepard      115     1.4
## 8          Jerzyk      170     0.2
## 10  Orzel przedni      160     0.9
## 11 Sokol wedrowny      110     0.5
## 13       Albatros      120     0.8
koty_ptaki[, "predkosc"]
##  [1]  60  80  90  70  85 115  65 170  70 160 110 100 120
koty_ptaki$predkosc
##  [1]  60  80  90  70  85 115  65 170  70 160 110 100 120
koty_ptaki$predkosc_mile <- koty_ptaki$predkosc * 1.6
head(koty_ptaki, 2)
##   gatunek waga dlugosc predkosc habitat zywotnosc druzyna predkosc_mile
## 1  Tygrys  300     2.5       60    Azja        25     Kot            96
## 2     Lew  200     2.0       80  Afryka        29     Kot           128

Rozdział 2.2.3

l <- list(liczby = 1:5, litery = LETTERS, logika = c(TRUE, TRUE, TRUE, FALSE))
l
## $liczby
## [1] 1 2 3 4 5
## 
## $litery
##  [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q"
## [18] "R" "S" "T" "U" "V" "W" "X" "Y" "Z"
## 
## $logika
## [1]  TRUE  TRUE  TRUE FALSE
l[[2]]
##  [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q"
## [18] "R" "S" "T" "U" "V" "W" "X" "Y" "Z"
l[["logika"]]
## [1]  TRUE  TRUE  TRUE FALSE
l$liczby
## [1] 1 2 3 4 5

Rozdział 2.3

library("Przewodnik")
head(daneSoc, 2)
##   wiek wyksztalcenie st.cywilny      plec             praca
## 1   70      zawodowe  w zwiazku mezczyzna uczen lub pracuje
## 2   66      zawodowe  w zwiazku   kobieta uczen lub pracuje
##   cisnienie.skurczowe cisnienie.rozkurczowe
## 1                 143                    83
## 2                 123                    80

Rozdział 2.3.1

range(daneSoc$wiek)
## [1] 22 75
mean(daneSoc$wiek)
## [1] 43.16176
mean(daneSoc$wiek, trim=0.2)
## [1] 42.58065
median(daneSoc$wiek)
## [1] 45
summary(daneSoc$wiek)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   22.00   30.00   45.00   43.16   53.00   75.00
sd(daneSoc$wiek)
## [1] 13.8471
library("e1071")
kurtosis(daneSoc$wiek)
## [1] -0.9558479
skewness(daneSoc$wiek)
## [1] 0.233151
quantile(daneSoc$wiek, c(0.1, 0.25, 0.5, 0.75, 0.9))
##  10%  25%  50%  75%  90% 
## 26.0 30.0 45.0 53.0 62.4
cor(daneSoc[,c(1,6,7)])
##                              wiek cisnienie.skurczowe
## wiek                   1.00000000         -0.02765239
## cisnienie.skurczowe   -0.02765239          1.00000000
## cisnienie.rozkurczowe -0.08313656          0.67852707
##                       cisnienie.rozkurczowe
## wiek                            -0.08313656
## cisnienie.skurczowe              0.67852707
## cisnienie.rozkurczowe            1.00000000

Rozdział 2.3.2

table(daneSoc$wyksztalcenie)
## 
## podstawowe    srednie     wyzsze   zawodowe 
##         93         55         34         22
table(daneSoc$wyksztalcenie, daneSoc$praca)
##             
##              nie pracuje uczen lub pracuje
##   podstawowe          22                71
##   srednie             16                39
##   wyzsze               6                28
##   zawodowe             8                14
summary(daneSoc$wyksztalcenie)
## podstawowe    srednie     wyzsze   zawodowe 
##         93         55         34         22
summary(daneSoc[,1:4])
##       wiek          wyksztalcenie     st.cywilny         plec    
##  Min.   :22.00   podstawowe:93    singiel  :120   kobieta  : 55  
##  1st Qu.:30.00   srednie   :55    w zwiazku: 84   mezczyzna:149  
##  Median :45.00   wyzsze    :34                                   
##  Mean   :43.16   zawodowe  :22                                   
##  3rd Qu.:53.00                                                   
##  Max.   :75.00

Rozdział 2.4

library("Przewodnik")
tab <- table( daneSoc$wyksztalcenie )
barplot(tab, horiz = TRUE, las = 1)