Programlama

Kitabın bu kısmında programlama becerilerinizi geliştireceksiniz. Programlama, tüm veri bilimi çalışmalarını baştan sona kapsayan bir beceridir: Veri bilimi yapmak için bilgisayar kullanmanız gerekir; bunu zihninizde ya da kalem ve kâğıtla yapamazsınız.

Veri bilimi sürecine dair modelimiz; programlama (yani içe aktarma, düzenleme, dönüştürme, görselleştirme, modelleme ve iletişim kurma, kısacası her şey) mavi renkle vurgulanmıştır.
Şekil 1: Programlama, diğer tüm bileşenlerin içinde yüzdüğü sudur.

Programlama kod üretir ve kod bir iletişim aracıdır. Kod elbette bilgisayara ne yapmasını istediğinizi söyler. Ancak aynı zamanda diğer insanlara da anlam iletir. Kodu bir iletişim aracı olarak düşünmek önemlidir; çünkü yaptığınız her proje temelde işbirlikçidir. Başka insanlarla çalışmıyor olsanız bile gelecekteki hâlinizle kesinlikle çalışacaksınız! Açık ve anlaşılır kod yazmak önemlidir; böylece başkaları (gelecekteki hâliniz dahil) bir analizi neden o şekilde ele aldığınızı anlayabilir. Bu da programlamada daha iyi olmanın, aynı zamanda iletişimde daha iyi olmayı da gerektirdiği anlamına gelir. Zamanla kodunuzun yalnızca yazılmasının değil, başkaları tarafından okunmasının da kolaylaşmasını istersiniz.

Aşağıdaki üç bölümde, programlama becerilerinizi geliştirecek yetenekler öğreneceksiniz:

  1. Kopyala-yapıştır güçlü bir araçtır; ancak bunu ikiden fazla kez yapmaktan kaçınmalısınız. Kodda kendinizi tekrar etmek tehlikelidir, çünkü kolayca hatalara ve tutarsızlıklara yol açabilir. Bunun yerine 25  Fonksiyonlar bölümünde, yinelenen tidyverse kodunu kolayca yeniden kullanılabilecek biçimde ayırmanızı sağlayan fonksiyonları nasıl yazacağınızı öğreneceksiniz.

  2. Fonksiyonlar tekrarlanan kodu dışarı çıkarır; ancak genellikle aynı işlemleri farklı girdiler üzerinde tekrarlamanız gerekir. Benzer şeyleri tekrar tekrar yapmanızı sağlayan iterasyon araçlarına ihtiyacınız vardır. Bu araçlar arasında, 26  İterasyon bölümünde öğreneceğiniz for döngüleri ve fonksiyonel programlama yer alır.

  3. Başkaları tarafından yazılmış kodları okudukça, tidyverse kullanmayan kodlarla da daha sık karşılaşacaksınız. 27  Temel R için bir alan kılavuzu bölümünde, doğal ortamında karşınıza çıkacak kodlardaki en önemli temel R fonksiyonlarından bazılarını öğreneceksiniz.

Bu bölümlerin amacı, size veri bilimi için ihtiyaç duyduğunuz asgari programlama bilgisini öğretmektir. Buradaki materyale hâkim olduktan sonra programlama becerilerinize yatırım yapmayı sürdürmenizi önemle öneririz. Yardımcı olabileceğini düşündüğümüz iki kitap yazdık. Garrett Grolemund’un kaleme aldığı Hands on Programming with R, R’ı bir programlama dili olarak tanıtır ve R ilk programlama diliniz ise başlamak için harika bir yerdir. Hadley Wickham’ın kaleme aldığı Advanced R, R programlama dilinin ayrıntılarını derinlemesine ele alır; programlama deneyiminiz varsa başlamak için, bu bölümlerdeki fikirleri özümsedikten sonra da ilerlemek için harika bir kaynaktır.