17 Giriş

Kitabın bu bölümüde, programlama yeteneklerinizi geliştireceksiniz. Programlama, her veri bilimi işi için gerekli disiplinler arası bir yetkinliktir: veri bilimi yapmak için bilgisayar kullanmanız gerekir, zihninizde ya da kağıt kalemle yapamazsınız.

Programlama, kod üretir ve kodlar da bilgisayarla iletişim kurmanın bir aracıdır. Açmak gerekirse, kod bilgiasayara ne yapmak istediğinizi söyler. Aynı zamanda insanlarla iletişim kurmanın da bir aracıdır. Kodları bir iletişim aracı olarak düşünmek önemlidir çünkü yaptığınız her proje temelde işbirliğine dayalıdır. Başkalarıyla çalışmıyor olsanız bile, kesinlikle gelecekteki kendiniz ile çalışıyorsunuz! Okunaklı kod yazmak, başkalarının (gelecekteki-siz gibi) bir analizi neden bu şekilde yaptığınızı anlayabilmesi için önemlidir. Bu, programlamada daha iyi olmanın aynı zamanda iletişimde daha iyi olmayı da içerdiği anlamına gelir. Zamanla, kodunuzun yalnızca yazım süreci için değil, aynı zamanda başkalarının okuması için de daha kolay olmasını istersiniz.

Kod yazmak birçok yönden düzyazı yazmaya benzer. Özellikle yararlı bulduğum bir paralellik, her iki durumda da yeniden yazmanın netliğin anahtarı olmasıdır. Fikirlerinizin, özellikle ilk ifade ettiğinizde net olması pek olası değildir ve birçok kez yeniden yazmanız gerekebilir. Bir veri analizi sorununu çözdükten sonra, genellikle kodunuza bakmak ve ne yaptığınızın açık olup olmadığını düşünmek oldukça değerlidir. Fikirleriniz tazeyken kodunuzu yeniden yazmak için biraz zaman harcarsanız, daha sonra kodunuzun ne yaptığını yeniden oluşturmaya çalışırken çok zaman kazanabilirsiniz. Ancak bu, her fonksiyonu yeniden yazmanız gerektiği anlamına gelmez: şimdi elde etmeniz gereken şeyi uzun vadede zamandan tasarruf ederek dengelemeniz gerekir (Ancak, fonksiyonlarınızı ne kadar çok yeniden yazarsanız, ilk denemenizden daha net olacaktır).

Aşağıdaki dört bölümde, hem yeni programların üstesinden gelmenize hem de mevcut sorunları daha net ve kolay bir şekilde çözmenize olanak sağlayacak becerileri öğreneceksiniz:

  1. [pipe]larda , pipe %>% içine dalacak, nasıl çalıştığı, alternatiflerin neler olduğu ve ne zaman kullanılmaması gerektiği hakkında daha fazla bilgi edineceksiniz.

  2. Kopyala-yapıştır güçlü bir araçtır, ancak bunu ikiden fazla kez yapmaktan kaçınmalısınız. Kodlarda kendinizi tekrar etmek tehlikelidir çünkü kolayca hata yapmaya ve tutarsızlık oluşturmaya elverir. Bunun yerine, fonksiyonlarda, nasıl fonksiyon yazacağınızı öğreneceksiniz ve bu da aynı kodları tekrar tekrar yazmak yerine, tek bir kodu defalarca kullanmanızı sağlayacak.

  3. Kullanışlı fonksiyonlar yazmaya başladıkça, R’daki veri yapıları hakkında altyapıya ihtiyaç duyacaksınız ve bunları da vektörlerde öğreneceksiniz. Dört yaygın atomik vektör tipi ve üzerlerine inşa edilen üç önemli S3 sınıfında ustalaşmalı ve listeler ile veri çerçevelerinin gizemlerini anlamalısınız.

  4. Fomksiyonlar tekrarlı kodları elimine eder, ancak aynı işlemleri defalarca tekrar etmeniz gerekebilir. Bu durumlarda, aynı şeyleri tekrar tekrar yapmanıza olanak sağlayacak yineleme (iteration) araçlarına ihtiyacınız olacak. Bu araçlardan, döngüler ve fonksiyonel programlamayı yinelemeler bölümünde öğreneceksiniz.

17.1 Daha fazlası

Bu bölümlerin amacı, veri bilimini uygulamak için ihtiyaç duyduğunuz programlama hakkında, minimum şeyi size öğretmektir ki bu minimum bilgi oldukça yeterlidir. Bu kitaptaki materyalde uzmanlaştıktan sonra, programlama becerilerinize daha fazla yatırım yapmanız gerektiğine kuvvetle inanıyorum. Programlama hakkında daha fazla bilgi edinmek uzun vadeli bir yatırımdır: hemen karşılığını vermez, ancak uzun vadede yeni sorunları daha hızlı çözmenize ve önceki sorunlardan edindiğiniz bilgileri yeni senaryolarda yeniden kullanmanıza olanak tanır.

Daha fazlasını öğrenmek için R’ı yalnızca veri bilimi için etkileşimli bir ortam olarak değil, bir programlama dili olarak incelemeniz gerekir. Bunu yapmanıza yardımcı olacak iki kitap:

  • Hands on Programming with R, yazar: Garrett Grolemund. Bu kitap, bir programlama dili olarak R’a bir giriş niteliğindedir ve R, ilk programlama dilinizse başlamak için harika bir yerdir. Bu kitapta göreceğiniz bölümlere benzer materyalleri kapsar, ancak farklı bir tarz ve farklı örnekler sunar. Bu dört bölümün çok hızlı geçtiğini fark ederseniz, faydalı bir tamamlayıcıdır.

  • Advanced R yazar: Hadley Wickham. Bu kitap, programlama dili R’ın ayrıntılarına dalar. Eğer evcut programlama deneyiminiz varsa başlamak için harika bir yerdir. Ayrıca, bu kitabın bölümlerindeki fikirleri içselleştirdikten sonra harika bir sonraki adımdır. adresinden çevrimiçi olarak okuyabilirsiniz. http://adv-r.had.co.nz.