R ile Programlamaya Giriş ve Uygulamalar

Benzer belgeler
adresinde görüldüğü üzere birçok ülkedeki kaynaktan indirme işlemi yapılabilir.

İSTATİSTİKSEL YAZILIM GELİŞTİRME ORTAMI: R

BİLGİSAYAR PROGRAMLAMA MATLAB

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

1.1. Yazılım Geliştirme Süreci

PROGRAMLAMAYA GİRİŞ DERS 2

Temel Bilgisayar Programlama

Bilgisayar Programlama. 1.Hafta

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

MatLab. Mustafa Coşar

Bilgisayar Programlama MATLAB

İstatistiksel Yazılım Geliştirme Ortamı: R

İstatistiksel Yazılım Geliştirme Ortamı: R

1.PROGRAMLAMAYA GİRİŞ

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu

HSancak Nesne Tabanlı Programlama I Ders Notları

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Bilgisayar Yazılımları

Ders Adı : Nesne Tabanlı Programlama-I Ders No : Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4. Ders Bilgileri.

BİT in Temel Bileşenleri (Yazılım-1)

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

1. LabVIEW ile Programlama

MATLAB. Temel işlemler, Vektörler, Matrisler DOÇ. DR. ERSAN KABALCI

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

Bilgisayar Programlama

Ünite-3 Bilgisayar Yazılımı.

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Algoritma ve Akış Diyagramları

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

MATLAB Semineri. EM 314 Kontrol Sistemleri 1 GÜMMF Elektrik-Elektronik Müh. Bölümü. 30 Nisan / 1 Mayıs 2007

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Programlama Dillerinde Kullanılan Veri Tipleri

Dr. Fatih AY Tel: fatihay@fatihay.net

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

Data Science Boot Camp

TEMEL BİLGİTEKNOLOJİLERİ

Öğr. Gör. Serkan AKSU 1

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0).

Nesne Yönelimli Programlama

D.Saati AKTS Zorunlu Ders (Z) Meslek Dersi (M) Seçmeli Ders (S) TOPLAM

SPSS-Tarihsel Gelişimi

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

İM 205-İnşaat Mühendisleri için MATLAB. Irfan Turk Fatih Üniversitesi,

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

YZM 2116 Veri Yapıları

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

Veritabanı Uygulamaları Tasarımı

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

İşletim Sistemleri. Discovering Computers Living in a Digital World

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Python GELECEK. Barış Metin Linux Sistemleri. Python Programlama Dili

BİLGİSAYAR PROGRAMLAMA DERSİ

BİL1001 Bilgisayar Bilimlerine Giriş 1

1. Web Sitesine Giriş 1. Giriş Yapmak için tıklayın tıklanır.

Açık Kaynak Kodlu Yazılım

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

MATLAB MATLAB MAT LAB MAT LAB MATLAB

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

Linux'ta Kabuk ve Kabuk Programlama

ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

MATLAB. Fen ve Mühendislik Uygulamaları ile. Doç. Dr. M. Akif CEVİZ. MATLAB de Dizi Kavramı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

BİL-142 Bilgisayar Programlama II

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

C Konsol ve Komut Satırı

EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

BTP 205 İŞLETİM SİSTEMLERİ

Veri Tabanı Yönetim Sistemleri Bölüm - 3

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Algoritma ve Akış Diyagramları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

MATLAB İLE PROGRAMLAMAYA GİRİŞ. Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü

MOBİL UYGULAMA GELİŞTİRME

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bilgisayar Yazılımları

-Bilgisayarı oluşturan iki temel unsurdan diğeri ise YAZILIM dır.

SELÇUK ÜNİVERSİTESİ SEYDİŞEHİR MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS DAĞILIM ÇİZELGESİ (2010)

Transkript:

R ile Programlamaya Giriş ve Uygulamalar

İçerik R ye genel bakış R dili R nedir, ne değildir? Neden R? Arayüz Çalışma alanı Yardım R ile çalışmak Paketler Veri okuma/yazma İşleme Grafik oluşturma Uygulamalar Sonuç 2

R yegenel bakış R dili ve tarihi Temeli 1976 yılından bu yana Bell Laboratuvarları nda istatistiksel programlama dili olarak geliştirilen S diline dayanır. UNIX ile aynı zamanda geliştirilmeye başlandı. Araştırma ve veri analizi için geliştirilmiştir. S diline benzer ama açık kaynaklı bir platform olarak R dili 1990 lı yıllara Yeni Zelanda daki Auckland Üniversitesi İstatistik Bölümü nden Ross Ihaka ve Robert Gentleman tarafından yazılmıştır. Daha sonra dünyanın çeşitli yerlerindeki araştırmacılar R yi geliştirmek için bir araya gelmiş ve 1997 de bu gruba R core team adı verilmiştir. R dilinin ilk sürümü R core team tarafından 29 Şubat 2000 tarihinde yayınlanmıştır. Her iki-üç ayda bir sürümler güncellenmektedir. Baydoğan, Çetin ve Orbay, R, inet-tr 14, İzmir - 27/11/2014 4

R nedir, ne değildir? Veri işleme, hesaplama ve grafik gösterimi için bir dil ve çevre sağlar. Geniş bir yelpazede istatistiki ve grafiksel teknikleri içerir. doğrusal ve doğrusal olmayan modelleme, klasik istatistik testleri, zaman-serileri analizi, sınıflandırma, kümeleme,... Açık kaynak kodlu olması itibariyle geliştirilmeye çok yatkındır. 5

R nedir, ne değildir? Fonksiyonel bir programlama dili olan R istatistikçiler ve matematikçiler için kod yazmayı kolaylaştıran fonksiyonlara sahiptir. Etkin veri işleme ve saklama özelliğine sahiptir. Dizi ve özellikle matris hesaplamalarında kullanılabilecek özel operatörler mevcuttur. Veri analizi için kullanılabilecek uyumlu ve bir arada kullanılabilen araçlar içerir. Veri çözümlemede kullanılabilecek grafiksel araçlara sahiptir.

R nedir, ne değildir? Özetle R Bir programa dilidir. Bir yorumlayıcıdır (interpreter). Özgür bir yazılımdır. Fakat R Bir veri tabanı değildir ama veri tabanlarına bağlanabilir. Kullanıcı dostu olmasa da java gibi diller aracılığıyla ara yüz desteğine sahip bir yazılım geliştirme ortamıdır. Tablolardan oluşan yazılım paketi (Excel, Minitab gibi) değildir ama bunlara bağlanabilir. Profesyonel veya ticari desteğe tabi bir yazılım değildir. Kapalı kutu yazılımlardan oluşan bir yazılım değildir. 7

Neden R? Artıları Hızlı ve ücretsiz Güncel Hesaplama yoğun işlemlerde başarı İstatistik alanında çalışan araştırmacılar algoritmalarını R ortamında paylaşmaktalar. Yaygın kullanım ve kullanıcı desteği Analizin nasıl yapılması gerektiği hakkında düşündürür. Diğer diller ve programlar ile bağlantı desteği İşletim sisteminden bağımsız olarak çalışır. Eksileri Öğrenme süreci uzundur. Profesyonel destek eksikliği problemlerin kullanıcı tarafından çözülmesini gerektirir. Kullanıcı dostu değildir. Basit seviyede bir kullanıcı arayüzüne sahiptir. Hata yapmak kolaydır ve tespit edebilmesi zor olabilir. Veriyi işlenecek hale getirmek zaman alıcı ve hataya açık bir süreçtir. Tüm işlemler hafızada gerçekleştirilir. Çok büyük veriler fazla RAM gerektirir. 12

R ye giriş Yükleme R-Project web sayfası http://www.r-project.org/ Windows, Linux, Mac OS X, source 13

R Ara yüzü R terminali 14

R Ara yüzü R editörü 15

R Ara yüzü R dilinde komut satırına girilen söz dizim kuralları (syntax) aynı zamanda metin dosyalarına da yazılabilir. Bu durumda metin dosyası uzantısı *.R olarak kaydedilir. Bu şekilde kaydedilmiş bir dosya artık R script dosyasıdır.

Alternatif editörler ve ara yüzler En yaygın kullanılan editör + ara yüz RStudio dur. http://www.rstudio.com/ R ortamı R editörü R geçmişi R terminali R dosyalar grafikler paketler yardım 17

R dili Örnekler (Hesap makinesi olarak R) > log2(32) [1] 5 > sqrt(2) [1] 1.414214 sin(seq(0, 2 * pi, length = 100)) -1.0-0.5 0.0 0.5 1.0 0 20 40 60 80 100 Index 19

R dili R deki temel nesne türleri: numeric integer, double, complex character logical function Bu nesneler kullanılarak aşağıdaki objeler oluşturulabilir Vektörler: aynı tipte nesneleri barındıran dizilerdir. Listeler: Listeler de vektördür ancak listedeki elemanlar farklı tiplerde olabilir. 20

R dili Değişkenleri çalışma sırasında tanımlanır. Önceden tanımlamaya gerek duyulmaz. > a = 49 > sqrt(a) [1] 7 > a = "Kedi ödevimi yedi" > sub("köpek","kedi",a) [1] "Köpek ödevimi yedi" > a = (1+1==3) > a [1] FALSE numeric function character string logical 21

R dili Vektörler, matrisler ve diziler > a = c(1,2,3) > a [1] 1 2 3 > a[1] [1] 1 > a[-1] [1] 2 3 > a[2] [1] 2 > a[4] [1] NA > a[5]="c" > a [1] "1" "2" "3" NA "c" > a[10]="deneme" > a [1] "1" "2" "3" NA "c" NA NA NA [9] NA "deneme > length(a) [1] 10 NA (not available) 22

R dili Vektörler, matrisler ve diziler Operatörler <- = > x <- c(0,1,2,3,4) > x [1] 0 1 2 3 4 > y = 1:5 > y [1] 1 2 3 4 5 > x <-1:10 > x [1] 1 2 3 4 5 6 7 8 9 10 > a = c(1,2,3) > a [1] 1 2 3 > a[1] [1] 1 > a[-1] [1] 2 3 > a[0] numeric(0) > a[2] [1] 2 > a[4] [1] NA 23

R dili Vektörler ile matematiksel işlemler > x <- c(0,1,2,3,4) > y <- 1:5 > z <- 1:50 > x + y [1] 1 3 5 7 9 > x * y [1] 0 2 6 12 20 > x * z [1] 0 2 6 12 20 0 7 16 27 40 0 [12] 12 26 42 60 0 17 36 57 80 0 22 [23] 46 72 100 0 27 56 87 120 0 32 66 [34] 102 140 0 37 76 117 160 0 42 86 132 [45] 180 0 47 96 147 200 24

R dili Vektör: aynı tipe sahip veriler topluluğu a = c(1,2,3) Matris: aynı tipe sahip iki boyutlu veri a = matrix(0,5,10) Örnek: 5 öğrencinin 10 günlük yoklama bilgisi Dizi: ikiden daha fazla boyutlu matris a = array(1:60, dim=c(3,4,5)) Örnek: Renkli resim R, G, B (Kırmızı, Yeşil ve Mavi) kanallarındaki piksel yoğunlukları 25

R dili Liste: farklı tipte sıralı veriler topluluğu Genel olarak vektörler indeks (sayı) ile listeler ise elemanlarının isimleriyle erişilir. Listeler indeksi de destekler. > denemelist=list(isim="mustafa",yas=31,evlimi=f) > str(denemelist) List of 3 $ isim : chr "mustafa" $ yas : num 31 $ evlimi: logi FALSE > denemelist[1] $isim [1] "mustafa" > denemelist$yas [1] 31 26

R dili Data frame: Özelleşmiş bir liste türüdür. R nin veri okuma fonksiyonlarının çoğu varsayılan tip olarak data frame tipinde bir nesne oluşturur. read.table, read.csv > path='c:/mustafa/research/presentations/inet/ornek.csv' > ornekdata=read.csv(path) > ornekdata Col1 Col2 Col3 1 100 a1 b1 2 200 a2 b2 3 300 a3 b3 > str(ornekdata) 'data.frame': 3 obs. of 3 variables: $ Col1: int 100 200 300 $ Col2: Factor w/ 3 levels "a1","a2","a3": 1 2 3 $ Col3: Factor w/ 3 levels "b1 ","b2 ","b3": 1 2 3 27

R dili Alt kümeleme > ornekdata[1,] Col1 Col2 Col3 1 100 a1 b1 > ornekdata[,2] [1] a1 a2 a3 Levels: a1 a2 a3 > ornekdata[,2:3] Col2 Col3 1 a1 b1 2 a2 b2 3 a3 b3 > ornekdata$col1 [1] 100 200 300 Faktörler: Karakterden farklı olarak belirli sayıda seviyeye sahip olan veri tipi Örnek: günler 28

R Oturumu (Session) ve Yönetimi Çalışma klasörü (working directory) Kaydedilen (diske) her türlü bilgi bu klasöre yazılır (eğer uygun bir yol belirtilmemişse). getwd() setwd(path) komutu ile yeni klasör belirlenebilir. Çalışma alanında tanımlı nesneler ls() > getwd() [1] "C:/Users/baydogan/Documents" > ls() [1] "a" "denemelist" "m" "ornekdata" "path" Takibi hafıza kullanımı açısından önemlidir. 33