Kodunu neden okuyamıyorum?

R'de Fonksiyon Yazmaya Giriş

Richie Cotton

Data Evangelist at DataCamp

dplyr fiilleri

select() sütunları seçer

filter() satırları filtreler

R'de Fonksiyon Yazmaya Giriş

Fonksiyon adları bir fiil içermelidir

  • al
  • hesapla (veya kısaca hesap)
  • çalıştır
  • işle
  • içe aktar
  • temizle
  • düzenle
  • çiz
R'de Fonksiyon Yazmaya Giriş

lm() kötü adlandırılmıştır

  • Kısaltmalar kendiliğinden açıklayıcı değildir
  • Bir fiil içermiyor
  • Birçok farklı doğrusal model vardır

Daha iyi bir ad run_linear_regression() olurdu

R'de Fonksiyon Yazmaya Giriş

Okunabilirlik vs. yazılabilirlik

  • Kodu anlamak > yazmaktan
R'de Fonksiyon Yazmaya Giriş

Okunabilirlik vs. yazılabilirlik

  • Kodu anlamak > yazmaktan
  • Kod editörlerinde otomatik tamamlama vardır

datacamp-autocomplete.png

R'de Fonksiyon Yazmaya Giriş

Okunabilirlik vs. yazılabilirlik

  • Kodu anlamak > yazmaktan
  • Kod editörlerinde otomatik tamamlama vardır
  • Sık kullanılan fonksiyonlara kısaltma verebilirsiniz
h <- head
data(cats, package = "MASS")
h(cats)
  Sex Bwt Hwt
1   F 2.0 7.0
2   F 2.0 7.4
3   F 2.0 9.5
4   F 2.1 7.2
5   F 2.1 7.3
6   F 2.1 7.6
R'de Fonksiyon Yazmaya Giriş

lm() argümanları

args(lm)
function (formula, data, subset, weights, na.action, method = "qr", 
    model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, 
    contrasts = NULL, offset, ...)
R'de Fonksiyon Yazmaya Giriş

Argüman türleri

  • Veri argümanları: neyin üzerinde hesaplanır
  • Ayrıntı argümanları: hesaplama nasıl yapılır
args(cor)
function (x, y = NULL, use = "everything", 
  method = c("pearson", "kendall", "spearman"))
R'de Fonksiyon Yazmaya Giriş

Veri argümanları ayrıntılardan önce gelmelidir

Bu çalışmaz

data %>%
  lm(formula)

çünkü veri argümanı ilk değil.

R'de Fonksiyon Yazmaya Giriş

Doğrusal regresyon için güncellenmiş fonksiyonumuz

run_linear_regression <- function(data, formula) {
  lm(formula, data)
}
cats %>% 
  run_linear_regression(Hwt ~ Bet + Sex)
Call:
lm(formula = formula, data = data)

Coefficients:
(Intercept)          Bwt         SexM  
    -0.4150       4.0758      -0.0821
R'de Fonksiyon Yazmaya Giriş

Haydi pratik yapalım!

R'de Fonksiyon Yazmaya Giriş

Preparing Video For Download...