R Kodu Nasıl Otomatize Edilir?

Onur Boyar
3 min readFeb 1, 2019

--

Hokkaido’da bir onsen

Bir işlemi, kodu ve süreci otomatize edebilmek günümüzde aranan niteliklerdendir. LinkedIn veya Kariyer.net üzerinde ‘Automated Tester’ ilanlarını görmüşsünüzdür. Test süreçlerini otomatize etmek büyük bir iş yükünü ortadan kaldırır. Peki ya veri analizlerini otomatize etmek? Elde etmek istediğimiz değerler ve bildireceğimiz sonuçlar hep aynı süreçlerin sonucunda geliyorsa neden bunları otomatize ederek işimizi kolaylaştırmayalım?

R’da kodumuzu script haline getirip onu saatlik, günlük, haftalık şekilde çalışacak hale getirmek oldukça kolaydır. Dikkat etmemiz gereken şey kodumuzun stabil bir şekilde çalışıyor olması, herhangi bir hata almıyor olmasıdır. Hata aldığımız an script’imiz çalışmayı bırakır ve otomatize edilmiş işlem artık devam edemez hale gelir. Aslında zaman harcamamız gereken otomatize etme işlemi yerine kaliteli kod yazmadır. Yaptığımız analize göre, haberleştiğimiz servislere ve veritabanlarına göre alabileceğimiz hataların analizini yapmak ve onlara karşı önlemler almamız gerekiyor. Şanslıyız ki R’daki taskscheduleR paketi bize sadece kodumuzu otomatize etme imkanı sunmuyor, ayrıca script’imizin loglarını kaydederek aldığımız hatayı bize bildiriyor. taskscheduleR paketi R ile Windows Task Scheduler arasında bir köprü kuruyor ve bize R’dan dışarı çıkmadan scriptimizi hazırlama imkanı sunuyor. Linux tabalı işletim sistemlerinde de tamamen aynı çalışma prensibine sahip olan cronR kullanılabilir.
Şimdi taskscheduleR paketini yükleyerek başlayalım.

install.packages(“taskscheduleR”)
library(taskscheduleR)

Paketimizi yükledik. Şimdi de otomatize edeceğimiz kodumuzu yazalım.

Yeni bir R script dosyası açın ve oraya kodunuzu kopyalayın. Ben örnek olarak aşağıdaki kodu çalıştıracağım.

x <- c(1:10)
print(x)

Şimdi sırada bu kodu otomatize etmede. taskscheduleR sayesinde tek satır kod yazmadan R programlarımızı otomatize edebiliyoruz.

Yapmamız gereken RStudio menüsünden Tools > Addins > Browse Addins’e tıklamak ve açılan sayfadan taskscheduleR’ı seçmek.

Buradaki pencereden scriptimizin tüm ayarlarını yapabiliriz. İlk olarak Browse diyerek kodumuzun bulunduğu R dosyasını seçiyoruz. Sonrasında kodumuzun bir kez mi, aylık mı , haftalık mı hangi sıklıkta çalışacağını Schedule başlığının altından seçiyoruz. Başlangıç günü ve saatini de seçtikten sonra Create Task’e tıklayabiliriz. Artık scriptimiz hazır! Done’a tıklayarak sayfayı kapadığımızda R konsolunda aşağıdaki kodu göreceğiz.

Bu taskscheduleR’ın bizim için hazırladığı script kodu. 14.07'de çalışacak ve logları C:\Users\onur.boyar\Documents\R\win-library\3.5\taskscheduleR\extdata dizinine kaydedecek. Bu dizin sizde de R paketlerinin bulunduğu klasörün içindeki taskscheduleR > extdata klasöründe olacak. Şimdi log dosyamızı inceleyelim.

Kodumuz print(x) koduydu, x ise 1'den 10'a kadar olan sayısal değerlerdi. Yani işlemimiz sorunsuz olarak çalıştı. log dosyası içine R konsolunda ne çıkıyorsa o yazdırılır. Kodun kendisi yazdırılmaz. Örneğin x <- 1:10 yazdırılmadı. print çıktıları, aldığımız hatalar, paket açıklamaları log dosyasında bulunabilir.

--

--