R Paketler

# CTT paketi yüklü değilse yükle
if (!requireNamespace("CTT", quietly = TRUE)) {
  install.packages("CTT")
}

# Paketi yükle ve kullan
library(CTT)
# temel paket fonksiyonlarina ulaşmak için  
fonksiyonlar <-  builtins()
length(fonksiyonlar)
## [1] 1407

tidyverse Paketini Yükleme

if (!requireNamespace("tidyverse", quietly = TRUE)) {
  install.packages("tidyverse")
}

#Paket yükleme Yaygın Hatalar

  1. Bazı paketler daha yeni bir R sürümü gerektirir bu nedenler R’yi düzenli olarak en son sürüme güncelleyin. Ayrıca güncelledikten sonra eski R versiyonlarını bilgisayarınızdan kaldırınız.

  2. Birden fazla R sürümünüz olduğunda ya da bilgisyarınızda birden fazla kullanıcı olduğunda “Permission Denied” hatası alabilirsiniz. Bu sorundan kurtalmak için eski R versiyonlarını bilgisayarınızdan kaldırınız ve/ve ya R’i yönetici olarak çalıştırınız.

  3. Birçok R paketi diğer paketlere bağlıdır ve bu bağımlı olduğu paketler yüklenmez veya güncellenmezse kurulum başarısız olur. R paketlerinizi de güncel tutun.

  4. Rcpp veya rJava gibi bazı R paketleri harici sistem kütüphanelerine bağlıdır. Eğer bunlar sisteminizde yüklü değilse, paket kurulumu başarısız olur. Hata mesajlarını dikkatli okuyunuz.

  5. Bazen paket depoları (CRAN) geçici olarak kapalı olabilir veya ağ sorunları bunlara erişimi engelleyebilir. Bu durumda internet bağlantınızı kontrol edin. Eğer stabilse, farklı bir yolla yüklemeyi deneyin.

  6. Eski paketler arşivlenmiş veya kullanımdan kaldırılmış olabilir ve CRAN üzerinden kurulum için mevcut olmayabilir. Eski sürümler için CRAN arşivini kontrol edip, cranden indirip zip ya da tar.zg uzantılı paketi yükleyebilirsiniz.

  7. Bazen indirilen paketlerin önbelleği bozularak kurulum hatalarına yol açabilir. İndirilen paketler için geçici dizini silerek veya çalıştırarak önbelleği temizleyerek yükleyebilirsiniz.

#Github Paketleri Yükleme * Bazı R paketleri github üzerinden yayınlanmaktadır. Bu paketleri standart yollarla yükleyemiyiz. Bu paketleri yüklemek için ilk olarak devtools paketinin yüklü olmasına ihtiyaç vardır.

#Yardım * Kullanılacak olan paket veya fonksiyonlar ve işlevlerinin anlaşılması için yardım sayfası kullanılabilir.

?mean
## starting httpd help server ... done
help(sqrt)

#Paket çakışmaları

*Daha da fazla fonksiyona sahip binlerce farklı R paketi vardır. Ne yazık ki, bazen farklı paketler aynı fonksiyon isimlerine sahiptir. Örneğin, dplyr ve MASS paketlerinin her ikisi de select() adında bir fonksiyona sahiptir. Bu paketlerin her ikisini de etkinleştirirseniz, R size bir çakışma olduğunu söyleyen bir uyarı üretecektir.

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(MASS)
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
dplyr::select(mtcars, mpg, cyl)
##                      mpg cyl
## Mazda RX4           21.0   6
## Mazda RX4 Wag       21.0   6
## Datsun 710          22.8   4
## Hornet 4 Drive      21.4   6
## Hornet Sportabout   18.7   8
## Valiant             18.1   6
## Duster 360          14.3   8
## Merc 240D           24.4   4
## Merc 230            22.8   4
## Merc 280            19.2   6
## Merc 280C           17.8   6
## Merc 450SE          16.4   8
## Merc 450SL          17.3   8
## Merc 450SLC         15.2   8
## Cadillac Fleetwood  10.4   8
## Lincoln Continental 10.4   8
## Chrysler Imperial   14.7   8
## Fiat 128            32.4   4
## Honda Civic         30.4   4
## Toyota Corolla      33.9   4
## Toyota Corona       21.5   4
## Dodge Challenger    15.5   8
## AMC Javelin         15.2   8
## Camaro Z28          13.3   8
## Pontiac Firebird    19.2   8
## Fiat X1-9           27.3   4
## Porsche 914-2       26.0   4
## Lotus Europa        30.4   4
## Ford Pantera L      15.8   8
## Ferrari Dino        19.7   6
## Maserati Bora       15.0   8
## Volvo 142E          21.4   4
fit <- lm(mpg ~ ., data = mtcars)
MASS::stepAIC(fit, direction = "both")
## Start:  AIC=70.9
## mpg ~ cyl + disp + hp + drat + wt + qsec + vs + am + gear + carb
## 
##        Df Sum of Sq    RSS    AIC
## - cyl   1    0.0799 147.57 68.915
## - vs    1    0.1601 147.66 68.932
## - carb  1    0.4067 147.90 68.986
## - gear  1    1.3531 148.85 69.190
## - drat  1    1.6270 149.12 69.249
## - disp  1    3.9167 151.41 69.736
## - hp    1    6.8399 154.33 70.348
## - qsec  1    8.8641 156.36 70.765
## <none>              147.49 70.898
## - am    1   10.5467 158.04 71.108
## - wt    1   27.0144 174.51 74.280
## 
## Step:  AIC=68.92
## mpg ~ disp + hp + drat + wt + qsec + vs + am + gear + carb
## 
##        Df Sum of Sq    RSS    AIC
## - vs    1    0.2685 147.84 66.973
## - carb  1    0.5201 148.09 67.028
## - gear  1    1.8211 149.40 67.308
## - drat  1    1.9826 149.56 67.342
## - disp  1    3.9009 151.47 67.750
## - hp    1    7.3632 154.94 68.473
## <none>              147.57 68.915
## - qsec  1   10.0933 157.67 69.032
## - am    1   11.8359 159.41 69.384
## + cyl   1    0.0799 147.49 70.898
## - wt    1   27.0280 174.60 72.297
## 
## Step:  AIC=66.97
## mpg ~ disp + hp + drat + wt + qsec + am + gear + carb
## 
##        Df Sum of Sq    RSS    AIC
## - carb  1    0.6855 148.53 65.121
## - gear  1    2.1437 149.99 65.434
## - drat  1    2.2139 150.06 65.449
## - disp  1    3.6467 151.49 65.753
## - hp    1    7.1060 154.95 66.475
## <none>              147.84 66.973
## - am    1   11.5694 159.41 67.384
## - qsec  1   15.6830 163.53 68.200
## + vs    1    0.2685 147.57 68.915
## + cyl   1    0.1883 147.66 68.932
## - wt    1   27.3799 175.22 70.410
## 
## Step:  AIC=65.12
## mpg ~ disp + hp + drat + wt + qsec + am + gear
## 
##        Df Sum of Sq    RSS    AIC
## - gear  1     1.565 150.09 63.457
## - drat  1     1.932 150.46 63.535
## <none>              148.53 65.121
## - disp  1    10.110 158.64 65.229
## - am    1    12.323 160.85 65.672
## - hp    1    14.826 163.35 66.166
## + carb  1     0.685 147.84 66.973
## + vs    1     0.434 148.09 67.028
## + cyl   1     0.414 148.11 67.032
## - qsec  1    26.408 174.94 68.358
## - wt    1    69.127 217.66 75.350
## 
## Step:  AIC=63.46
## mpg ~ disp + hp + drat + wt + qsec + am
## 
##        Df Sum of Sq    RSS    AIC
## - drat  1     3.345 153.44 62.162
## - disp  1     8.545 158.64 63.229
## <none>              150.09 63.457
## - hp    1    13.285 163.38 64.171
## + gear  1     1.565 148.53 65.121
## + cyl   1     1.003 149.09 65.242
## + vs    1     0.645 149.45 65.319
## + carb  1     0.107 149.99 65.434
## - am    1    20.036 170.13 65.466
## - qsec  1    25.574 175.67 66.491
## - wt    1    67.572 217.66 73.351
## 
## Step:  AIC=62.16
## mpg ~ disp + hp + wt + qsec + am
## 
##        Df Sum of Sq    RSS    AIC
## - disp  1     6.629 160.07 61.515
## <none>              153.44 62.162
## - hp    1    12.572 166.01 62.682
## + drat  1     3.345 150.09 63.457
## + gear  1     2.977 150.46 63.535
## + cyl   1     2.447 150.99 63.648
## + vs    1     1.121 152.32 63.927
## + carb  1     0.011 153.43 64.160
## - qsec  1    26.470 179.91 65.255
## - am    1    32.198 185.63 66.258
## - wt    1    69.043 222.48 72.051
## 
## Step:  AIC=61.52
## mpg ~ hp + wt + qsec + am
## 
##        Df Sum of Sq    RSS    AIC
## - hp    1     9.219 169.29 61.307
## <none>              160.07 61.515
## + disp  1     6.629 153.44 62.162
## + carb  1     3.227 156.84 62.864
## + drat  1     1.428 158.64 63.229
## - qsec  1    20.225 180.29 63.323
## + cyl   1     0.249 159.82 63.465
## + vs    1     0.249 159.82 63.466
## + gear  1     0.171 159.90 63.481
## - am    1    25.993 186.06 64.331
## - wt    1    78.494 238.56 72.284
## 
## Step:  AIC=61.31
## mpg ~ wt + qsec + am
## 
##        Df Sum of Sq    RSS    AIC
## <none>              169.29 61.307
## + hp    1     9.219 160.07 61.515
## + carb  1     8.036 161.25 61.751
## + disp  1     3.276 166.01 62.682
## + cyl   1     1.501 167.78 63.022
## + drat  1     1.400 167.89 63.042
## + gear  1     0.123 169.16 63.284
## + vs    1     0.000 169.29 63.307
## - am    1    26.178 195.46 63.908
## - qsec  1   109.034 278.32 75.217
## - wt    1   183.347 352.63 82.790
## 
## Call:
## lm(formula = mpg ~ wt + qsec + am, data = mtcars)
## 
## Coefficients:
## (Intercept)           wt         qsec           am  
##       9.618       -3.917        1.226        2.936

#Fonksiyonlar

*Fonksiyonların çalışması için girdilerinin olması gerekmektedir. Fonksiyonlar girdileri ile yaptıkları işlem sonucunda bir çıktı oluştururlar.

  1. argümanların sırası
  2. argümanların olağan (default) değerleri bazı argümanların zorunlu,
  3. bazı argümanların opsiyonel olmasıdır
rnorm(n = 6, mean = 3, sd = 1)
## [1] 2.435209 4.634992 2.146012 2.144595 4.009324 2.273714
rnorm(6, 3, 1)
## [1] 3.020464 2.281210 4.095598 2.714119 2.127344 1.238728

#Kişisel tanımlı fonksiyon

sayi<- 4
sayi* sayi 
## [1] 16
# kare alma fonksiyonu
kare_al <-  function(sayi){
  return(sayi*sayi)
  }
kare_al(4)
## [1] 16
#üs alma
üs_al<-  function(x,us){
  return(x^us)
  }
üs_al(3,4)
## [1] 81
myfunc <-  function(x,y)
{
a <-  x+y
b <-  x* y
return(a*b)
}
myfunc(3,4)
## [1] 84