56
T.C. B ˙ ILEC ˙ IK ¸ SEYH EDEBAL ˙ I ÜN ˙ IVERS ˙ ITES ˙ I MÜHEND ˙ ISL ˙ IK FAKÜLTES ˙ I B ˙ ILG ˙ ISAYAR MÜHEND ˙ ISL ˙ I ˘ G ˙ I R PROGRAMLAMA VE BAZI R PAKET UYGULAMALARI ¸ SÜKRÜ ERGÜNTOP B ˙ IT ˙ IRME ÇALI ¸ SMASI MAYIS-2015 B ˙ ILEC ˙ IK

2015 - Şukru Ergüntop - R Programlama

Embed Size (px)

DESCRIPTION

R programlamanın tanıtımı ve örnek uygulamalar içeren proje raporu

Citation preview

  • T.C.

    BILECIK SEYH EDEBALI NIVERSITESI

    MHENDISLIK FAKLTESI

    BILGISAYAR MHENDISLIGI

    R PROGRAMLAMA VE BAZI R PAKET UYGULAMALARI

    SKR ERGNTOP

    BITIRME ALISMASI

    MAYIS-2015

    BILECIK

  • T.C.

    BILECIK SEYH EDEBALI NIVERSITESI

    MHENDISLIK FAKLTESI

    BILGISAYAR MHENDISLIGI

    R PROGRAMLAMA VE BAZI R PAKET UYGULAMALARI

    SKR ERGNTOP

    BITIRME ALISMASI

    MAYIS-2015

    BILECIK

  • BILDIRIM

    Bu kitaptaki btn bilgilerin etik davrans ve akademik kurallar erevesinde elde edildi-ginive yazm kurallarna uygun olarak hazrlanan bu alsmada bana ait olmayan her trlifade ve bilginin kaynagna eksiksiz atf yapldgn bildiririm.

    DECLARATION

    I hereby declare that all information in this document has been obtained and presentedin accordance with academic rules and ethical conduct. I also declare that, as required bythese rules and conduct, I have fully cited and referenced all materials and results that arenot original to this work.

    Imza

    grencinin Ad SOYADI

    tarih:

    ii

  • ZET

    BITIRME ALISMASI

    R PROGRAMLAMA VE BAZI R PAKET UYGULAMALARI

    Skr ERGNTOP

    BILECIK SEYH EDEBALI NIVERSITESIMHENDISLIK FAKLTESI

    BILGISAYAR MHENDISLIGI BLM

    Dansman: gr. Gr. Murat ZALP

    2015, 56 Sayfa

    Jri yeleri Imza

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Bu alsmada son yllarda popler olan R Programlama dili ve R Programlama Paket Uygulama-

    lar Mevcuttur. Bu alsma ile R programlama dilinin grenilmesi ve paketlerin kullanm hakknda

    rnekler ile genel bilgi verilmistir. : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Anahtar Kelimeler: R Programming, R Data Mining, R Neural Network, nnet, neuralnetwork,

    R Web Developer, Shiny, RWeka, R Datasets

    iii

  • ABSTRACT

    THESIS

    R PROGRAMMING AND SEVERAL APPLICATONS OF THE R PACKAGE

    Skr ERGNTOP

    BILECIK SHEIKH EDEBALI UNIVERSITYENGINEERING FACULTY

    DEPARTMENT OF COMPUTER ENGINEERING

    Advisor: gr. Gr. Murat ZALP

    2015, 56 Pages

    Jury Sign

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    In this study, R programming language popular in recent years and R Packages Application are

    available. This study aimed to learn the R programming language and general information are

    given about the use of R programming language packages

    Anahtar Kelimeler: R Programming, R Data Mining, R Neural Network, nnet, neuralnetwork,

    R Web Developer, Shiny, RWeka, R Datasets

    iv

  • NSZ

    3 blmden meydana gelen bu kitabn birinci blmnde yani giris blmnde, R program-

    lamann gelisimi kullanmna dair bilgiler, platformlar, neden tercih edildigi, konusunda bilgiler

    verilmistir Ikinci blmde R programlama dilinin yapsndan, nasl kullanldgndan, syntaxndan

    bahsedilmistir, 3. blmde ise baz R paketlerin nerelerde ve nasl kullanldgna dair birka uy-

    gulamalar gereklestirilmistir.

    Bu projenin yazmnn basndan sonuna kadar emegi geen ve beni bu konuya ynlendiren

    sayg deger hocam ve dansmanm Sayn gr. Gr. Murat ZALPa tm katklarndan ve hi

    eksiltmedigi desteginden dolay tesekkr ederim.

    Skr ERGNTOP

    v

  • Iindekiler

    NSZ v

    SEKILLER TABLOSU ix

    1 GIRIS 1

    1.1 Projede Kullanlan Programlama Dili . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.1 R Programlamaya Giris . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.2 R Programlama Dili Artlar ve Eksileri . . . . . . . . . . . . . . . . . 1

    1.1.3 R Grafik Kullanc Arayzleri . . . . . . . . . . . . . . . . . . . . . . . 3

    1.1.4 R Programlama Dili zellikleri . . . . . . . . . . . . . . . . . . . . . . 7

    1.1.5 R programlama Paketleri . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2 R PROGRAMALAMA 8

    2.1 Veri Tipleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.1.1 Diziler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.1.2 Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.1.3 List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.1.4 Veri erevesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.1.5 Vektrler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2 Dngler, Kosullar ve Durumlar . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2.1 For dngs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2.2 If-Else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    2.2.3 Repeat dngs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    2.2.4 Which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    2.2.5 While . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.3 izimler ve Grafikler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.3.1 Barplot ile ubuk Grafik izimi . . . . . . . . . . . . . . . . . . . . . 14

    2.3.2 Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.3.3 Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2.3.4 Plot PCH Sembol Tablosu . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.3.5 Plot Renk Tablosu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.3.6 pie(Pasta) Grafigi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    vi

  • 2.3.7 Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    2.3.8 Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    2.4 Veri Okuma ve Yazma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.4.1 R Ortamna Excelden Veri Aktarma . . . . . . . . . . . . . . . . . . . 24

    2.4.2 R Ortamna txtden Veri Aktarma . . . . . . . . . . . . . . . . . . . . . 25

    2.4.3 R Ortamnda Veri Olusturma . . . . . . . . . . . . . . . . . . . . . . . 25

    2.4.4 R Ortamna Aktarlan Verileri Grntleme . . . . . . . . . . . . . . . 26

    2.5 Veri Ynetimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    2.5.1 Hazr Fonksiyonlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    2.5.2 Fonksiyon Olusturma . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    2.5.3 zel Fonksiyonlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    2.6 R Programlama Olaslk Daglmlar . . . . . . . . . . . . . . . . . . . . . . . . 29

    2.6.1 Binomal Daglm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    2.6.2 Poission Daglm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    2.6.3 Normal Daglm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    2.6.4 Srekli Dzgn Daglm . . . . . . . . . . . . . . . . . . . . . . . . . 32

    2.6.5 ssel Daglm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    3 R PAKET UYGULAMALARI 34

    3.1 Karekk Almay Gereklestiren Yapay Sinir Ag Olustuma . . . . . . . . . . . . 34

    3.1.1 Uygulamann Amac . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    3.1.2 Uygulamann Ierigi . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    3.1.3 Ugulamann Asamalar . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    3.1.4 Ugulamann R kodlar . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    3.1.5 Uygulamann Sonucu . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.2 Iris Verisini snflandran Yapay Sinir Ag Olustuma . . . . . . . . . . . . . . . 36

    3.2.1 Uygulamann Amac . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.2.2 Uygulamann Ierigi . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.2.3 Ugulamann Asamalar . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.2.4 Ugulamann R kodlar . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.2.5 Uygulamann Sonucu . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.3 Yapay Sinir Ag ile "Dataset" paketindeki "infert" verisini snflandrma . . . . . 38

    3.3.1 Uygulamann Amac . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    vii

  • 3.3.2 Uygulamann Ierigi . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.3.3 Ugulamann Asamalar . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.3.4 Ugulamann R kodlar . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.4 Yapay Sinir Ag ile Kredi Derecelendirmesi Uygulamas . . . . . . . . . . . . . 39

    3.4.1 Uygulamann Amac . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    3.4.2 Uygulamann Ierigi . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    3.4.3 Uygulamann Asamalar . . . . . . . . . . . . . . . . . . . . . . . . . 40

    3.4.4 Ugulamann R kodlar . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    3.5 Web Ortamnda Dinamik Veri Analizi . . . . . . . . . . . . . . . . . . . . . . . 41

    3.5.1 Uygulamann Amac . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    3.5.2 Uygulamann Ierigi . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    3.5.3 Uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    3.6 Yapay sinir Ag ile Animasyon rnegi . . . . . . . . . . . . . . . . . . . . . . 42

    3.6.1 Uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    ARASTIRMA BULGULARI VE TARTISMA 43

    SONULAR VE NERILER 44

    KAYNAKLAR 45

    ZGEMIS 46

    viii

  • SEKILLER TABLOSU

    1 Rn kullanm istatistigi[4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 R Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    3 R Comander ktphanesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    4 R Comander Arayz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    5 R Comander rnek Bir Uygulama . . . . . . . . . . . . . . . . . . . . . . . . . 5

    6 R Studio Arayz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    7 Barplot ile ubuk grafik izimi 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    8 Barplot ile ubuk grafik izimi 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    9 Barplot ile ubuk grafik izimi 3 . . . . . . . . . . . . . . . . . . . . . . . . . 16

    10 Barplot ile ubuk grafik izimi 4 . . . . . . . . . . . . . . . . . . . . . . . . . 16

    11 Barplot ile ubuk grafik izimi 5 . . . . . . . . . . . . . . . . . . . . . . . . . 17

    12 Circle izimi 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    13 Circle izimi 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    14 Plot izimi 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    15 Plot izimi 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    16 Plot izimi 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    17 PCH Sembol Tablosu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    18 Renk Tablosu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    19 pie grafigi 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    20 pie grafigi 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    21 pie 3D grafigi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    22 Histogram grafigi 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    23 line grafigi 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    24 line grafigi 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    25 Karekk Almay Gereklestiren Yapay Sinir Ag . . . . . . . . . . . . . . . . . 35

    26 Iris Veri Snflandrmasn Gereklestiren Yapay Sinir Ag . . . . . . . . . . . . 37

    27 Iris Veri Snflandrmasn Gereklestiren Yapay Sinir Agnn Testi . . . . . . . . 37

    28 Infert Verisi Snladran Yapay Sinir Ag Modeli . . . . . . . . . . . . . . . . . 39

    29 Kredi Derecelendirme Gereklestiren Yapay Sinir Ag . . . . . . . . . . . . . . 41

    30 Shiny Paket Uygulmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    31 nnet ve animation Paket Uygulmas . . . . . . . . . . . . . . . . . . . . . . . . 42

    ix

  • 1 GIRIS

    1.1 Projede Kullanlan Programlama Dili

    1.1.1 R Programlamaya Giris

    Tanm :R istatistiksel hesaplama ve grafik sistemidir. R hem bir programlama hemde yksek

    seviyeli grafik dilidir, diger diller iin arayz ve hata ayklama olanaklarn saglar[1]

    R dili Yeni Zelandadaki Aucland niversi-

    tesi Istatistik Blmnden Ross Ihaka ve Ro-

    bert Gentleman tarafndan yazlmstr. Dnya-

    nn esitli yerlerindeki arastrmaclar R yi ge-

    listirmek iin bir araya gelmis ve 1997de bu

    gruba "R core team" ad verilmistir. R dili-

    nin ilk srm "R core team" tarafndan 29

    Subat 2000 tarihinde yaynlanmstr. R istatis-

    tiksel yazlm gelistirme ortam veri manip-

    lasyonu, hesaplama ve grafik gsterim iin ta-

    sarlanmstr. R dilinin sz dizimi kurallar (syntax) C diline benzerlik gsterir. Fonksiyonel bir

    programlama dili olan R istatistikiler ve matematikiler iin kod yazmay kolaylastran fonksi-

    yonlara sahiptir.[2]

    1.1.2 R Programlama Dili Artlar ve Eksileri

    Artlar[3]

    R ak kaynak kodlu GNU lisans olan bir yazlm

    Hzl ve cretsiz

    Isletim sisteminden bagmsz olarak alsr.

    1

  • R en kapsaml istatiksel analiz paketidir. Standart istatistiksel testler, modellerin hepsiniierir ve analizlerin yan sra , verileri ynetmek ve islemek iin kapsaml bir dil saglamstr.

    Yeni teknoloji ve fikirler R ortamndan erisim saglanabilir.

    R ekonometri, veri madenciligi, mekansal analiz, ve biyo-bilisim gibi konularda uzmanlas-ms, birok kaynaktan temin edebileceginiz 15,000 in stnde paket vardr.

    32 ve 64 bit islemci zerinde alsan, GNU / Linux, Macintosh ve Microsoft Windowszerinde alsabilir.

    R Microsoft Excel, Microsoft Access, Oracle, MySQL ve SQLite, Hadoop, SAS ve SPSSgibi birok aralar ile baglant kurularak data import- export islemleri gereklestirebilir.

    Ayrca PDF, JPG, PNG ve SVG formatlarnda ve LATEX ve HTML iin tablo ve grafik

    kts alabilirsiniz.

    Eksileri[3]

    grenme sreci uzundur.

    Kullanc dostu degildir.(Arayz Bakmndan)

    Veriyi islenecek hale getirmek zaman alc ve hataya ak bir sretir.

    Tm islemler hafzada gereklestirilir. Bu demek oluyor ki ok byk veri iin fazla ramgerekir

    Sekil 1: Rn kullanm istatistigi[4]

    2

  • 1.1.3 R Grafik Kullanc Arayzleri

    R Terminali: R da komutlarn derlendigi terminaldir. Komutlar buraya yazldktan sonra R ter-

    minali kapatlrsa komutlar yok olur. Bu sorunu zmek iin "Dosya" mensnden yeni

    betik olusturulur. R termimali kullanc dostu bir arayz degildir. Her islemi komutlarla

    yaplmaktadr

    Sekil 2: R Console

    R Comander: tcltk tabanl GUIdir R terminelinden "paketler" mensnden "Rcmdr" paketi ku-

    rulur kurulduktan sonra R terminaline "library(Rcmdr)" yazlarak arayz baslatlr

    Sekil 3: R Comander ktphanesi

    R termimale "library(Rcmdr)" yazldktan sonra sekil 4teki arayz olusmaktadr

    3

  • Sekil 4: R Comander Arayz

    R Comander sekil 5 de grldg gibi 3 blmden olusmaktadr 1. blm input, veri

    degerlerimizi girdigimiz blm 2. blm output, verilerimizin sonularn elde ettigimiz

    blm ve son olarak 3.blm message,kodlarmz derledigimizde hata veya uyarnn gs-

    terildigi blm

    sekil 5 de R Comander arayz zerinde bir degiskene vektr atanmas ve bu degisken-

    deki vektr degerlerini gsterilmesi ile ilgili bir rnek uygulama gereklestirilmistir

    4

  • Sekil 5: R Comander rnek Bir Uygulama

    Sekil 5 de gsterilen "submit" butonu eger input blmnden herhangi bir satr seilme-

    den baslrsa her zaman input blmnn son satrn derler

    R Studio: Kullanm olduka kolay ve gelismis bir arayz

    5

  • Sekil 6: R Studio Arayz

    Sekilde 6da grldg gibi R Studio 4 blmden meydana gelmektedir. ncelikle R

    kodlarnn yazldg R scriptten bahsedilecek olunursa, "File" mensnn altnda bulunan

    "New File" sekmesindeki "R Scipt" sekmesi seilerek olusturulur, R Comander aratzn-

    deki gibi yine kodlarn derlendigi R Console blm, R scripte yazlan degiskenlerin gs-

    terildigi blm ve son olarak R scripte yazlan grafiksel kodlarn, grafiklerinin gsterildigi

    blm bulunmaktadr. R scipteki kodlar diger arayzler gibi kodlar derlendiginde eger bir

    satr seilmisse o satr derler herhangi bir satr seilmemis ise son satr varsaylan olarak

    derler.

    6

  • 1.1.4 R Programlama Dili zellikleri

    Etkin bir veri isleme ve depolama[5]

    Dizi ve matris hesaplamalar iin komutlar grubu[5]

    Veri analizi iin ileri dzeyli teknikler toplulugu[5]

    Verinin ekranda ya da basl bir eserde grntlenebilmesine olanak veren genis grafikselzellikler[5]

    Kolay programlamaya uygun fakat karmask programlama dillerinin zelliklerin[5] sahipbir programlama dili olanaklarn sunmaktadr[5]

    Veri analizi iin kullanlabilecek uyumlu ve bir arada kullanlabilen aralar ierir.[4]

    Besne ynelimli bir programlama dili olmas

    2-D, 3-D gelismis grafik aralarna sahip olmas

    1.1.5 R programlama Paketleri

    R fonskiyonlar ayr ayr paketler iine aktarlmstr, bylece gerekli paketlerle alsarak

    daha az bellek kullanm ve hzl islem gc saglanr. Bu paketlerin bir baska avantaj da yazlan

    fonksiyonlardan olusan paketlerin R web sitesinden temin edilerek yklenebilmesidir[2]

    "Install.package() ve update.package() fonksiyonlar R komut satrndan istenilen paketin indi-

    rilmesi ve yklenmesi iin kullanlrlar.[2] Paketlere ait fonksiyonlar kullanlacag zaman paket

    agrlmaldr paketlerin agrlma komutu "library(paket_isimi)" seklindedir

    7

  • 2 R PROGRAMALAMA

    2.1 Veri Tipleri

    2.1.1 Diziler

    Dizler ok boyutlara sahip veri tipidir. array() fonksiyonu dizileri test eder veya olusturur.

    dim() fonksiyonu dizinin boyutunu tanmlar

    rnek 1

    x

  • 2.1.2 Matrix

    Matrix 2 boyutlu dizilerdir. R, matrixi ok uygun ele almanz saglayan ok fazla opratr

    ve fonksiyona sahiptir

    rnek 1

    A

  • x < list(sayi = 3,yazi = LungCancerPatients,har f = c(A,B,C)) : Sayi,yazi vekarakter ieren bir liste olusturur

    x : Listeyi gsterir

    is.list(x) : x degiskeni adnda bir liste olup olmadgn sorgular

    rnek 2

    x[[1]] : x listesinin 1. elemann getiri yani sayy(3)

    x[[2]] : x listesinin 2. elemann getirir yani yazi(Lung Cancer Patients)

    x[[3]] : x listesinin 3. elemann getirir yani harf(A,B,C)

    x[[3]][2]: x listesinin 3. elemannn kendi iinde 2. elemann getirir yani B

    x$har f : x listesindeki harfi getirir yani A,B,C

    x[[har f ]] : x listesindeki harfi getirir yani A,B,C

    length(x) : Listenin uzunlugunu belirler

    as.data. f rame(x) x listesinin baslk baslk dzgn sralanmasn saglar

    2.1.4 Veri erevesi

    Rda data.frame ok gl bir veri tipidir, zellikle bir taplo islendigi zaman. Tabloya

    gre stun ve satr olarak veriyi depolar.

    rnekte R da veri kmesi olan BOD(Biyo kimyasal oksijen ihtiyac) verisini kullanalm. BOD bir

    verierevesidir rnek

    x

  • x$Time : x verisindeki "Time" degerlerini yazdrr

    x$demand x verisindeki "demand" degerlerini yazdrr

    2.1.5 Vektrler

    R programlama dilinde vektr diger programlama dillerinin

    dizilerine benzer.Elemanlar sral bir sayda olusturuyor. Elemanlar numerik, lojik, karakter ve

    karmask olabilir

    v

  • f or(ornek in veri){str
  • {i f (ornek%%2! = 0)next

    else print(ornek)

    print(ornek)

    }Aklama: 2 ile kalansz blnmeyenler yazdrr

    i f else(veri> 6,2,1) : Veri 6dan bykse ekrana 2 yazdr 6dan kkse 1 yazdrr

    2.2.3 Repeat dngs

    Repeat "while" ve "for" dngsne benzerdir, bir komut blogunu sona erene kadar yrtr

    toplam 6)break;} Aklama: top-lam degiskeni 6 dan byk olana kadar dng devam eder ve toplam degiskeni 1er 1er

    artar

    2.2.4 Which

    Which() fonksiyonu mantksal bir nesnenin "TRUE"indexini verir ,dizi indeksine izin verir

    which(letters== h) : h harfinin alfabedeki srasn verir

    which(BOD$demand == 16) : BOD verisindeki demand degeri 16ya esit olan karslgnverir

    x

  • 2.2.5 While

    While() dngs sartlar yerine getirilene kadar komutlar blogunu alstrr

    x

  • Sekil 7: Barplot ile ubuk grafik izimi 1

    Biraz aklamal ubuk grafigi izelim

    barplot(x,border = tan2,names.arg= c(Jan,Feb,Mar,Apr,May),+xlab=Month,ylab= Revenue,density= c(0,5,20,50,100))

    Sekil 8: Barplot ile ubuk grafik izimi 2

    Aklamalar

    - x, eldeki verilerimiz yani y eksenine karslk gelen degerlerimiz

    - border, ubuklarn kenar kalnlgn belirler

    - names.arg, y eksenindeki verilerin x eksenindeki isimleri temsil eder

    - xlab, x eksenin genel adn temsil eder

    - ylab, y eksenin genel adn temsil eder

    - density, ubuklarn yogunluklarn ayarlar

    kodlar

    15

  • * A
  • bar ubuk grafigindeki veriler hakknda detayl bir sekilde kare iine aklamalar ya-

    zar.legend fonksiyonundaki parametreler; "x",ve "y" parametreleri aklamann yaz-

    lacag koordinat belirler, c() verilerin neyi temsil ettigi yazlr, "col" aklamalarn

    sol tarafndaki sekillerin rengini belirler, "pch" verilerin sol tarafna nasl bir sekil

    yazlacagn belirler, "cex" verileri aklayan karenin byklgn belirler

    Sekil 11: Barplot ile ubuk grafik izimi 5

    2.3.2 Circle

    draw.circle() fonksiyonu ile bir alan zerinde ember izer. Bu fonksiyonu alstrmak iin

    ncelikle "plotrix" paketi(install.packages("plotrix")) yklenmis olmas lazm Asagdaki rnek-

    ler daha nce kullandgmz "BOD" verilerini kullanacagz

    plot(BOD)

    Sekil 12: Circle izimi 1

    require(plotrix) : Gerekli paket agrlr

    17

  • draw.circle(4,14,2,border = blue,col = tan2) : "(4,14,2)" ile ember boyutu belirle-

    nir, "border="blue"" ile emberin kenar rengin, belirler, "col="tan2"" ile emberin i rengi

    belirlenir

    Sekil 13: Circle izimi 2

    2.3.3 Plot

    plot(), genel x,y izim fonksiyonudur

    ncelikle basit bir izim yapalm

    x

  • x
  • Sekil 16: Plot izimi 3

    20

  • 2.3.4 Plot PCH Sembol Tablosu

    Asagdaki tablo, Rda izimde kullanlan PCH semboller tablosu gsterilmektedir. PCH

    ayn zamanda karakter de olabilir

    Sekil 17: PCH Sembol Tablosu

    2.3.5 Plot Renk Tablosu

    Rda 657 tane yerlesik renk ad var. "colors()" fonksiyonu tm rengleri gsterir

    Sekil 18: Renk Tablosu

    21

  • 2.3.6 pie(Pasta) Grafigi

    Pie() islevi bir pasta grafigi izer

    x

  • Sekil 21: pie 3D grafigi

    2.3.7 Histogram

    x

  • Sekil 23: line grafigi 1

    abline(h= 4,col = red)abline(v= 0,col = green)

    abline(a= 2,b= 2,col = blue)

    Sekil 24: line grafigi 2

    2.4 Veri Okuma ve Yazma

    2.4.1 R Ortamna Excelden Veri Aktarma

    getwd() : Veri okumadan nce Rda bulundugumz konumu gsterir

    setwd() : Veriyi okumamz iin bulundugumuz konumu verinin bulundugu konuma ayarlar

    list. f iles() : Ayarladpmz konumdaki tm dosyalar gsterir

    veri

  • veri$degiskenisimi : "data.csv" dosyas iindeki belirlenem degiskenin degerlerini gsterir

    mean(veri$degiskenisimi) : "data.csv" dosyas iindeki belirlenen degiskenin degerlerininortalamasn alr

    2.4.2 R Ortamna txtden Veri Aktarma

    getwd() : Veri okumadan nce Rda bulundugumz konumu gsterir

    setwd() : Veriyi okumamz iin bulundugumuz konumu verinin bulundugu konuma ayarlar

    list. f iles() : Ayarladpmz konumdaki tm dosyalar gsterir

    veri

  • 2.4.4 R Ortamna Aktarlan Verileri Grntleme

    ls() : R ortamndan tanmlanan veri degskenlerini gsterir

    names(mydata) : Verideki baslklar grntler

    str(mydata) : Veriyi yapsal olarak listeler

    levels(mydata$gender) : Veri faktrnn seviyelerini listeler yaniyukarda tanmladgmzverinin "gender" faktr seviyeleri "male" ve "female" dir

    head(mydata,n= 10) : Verinin ilk "o tanesini gsterir

    tail(mydata,n= 5) : Verinin son 5 tanesini gsterir

    2.5 Veri Ynetimi

    2.5.1 Hazr Fonksiyonlar

    1. Numerik Fonksiyonlar

    Fonksyion Tanm

    abs(x) x verisinin mutlak degerini alr

    sqrt(x) x verisinin kare kkn alr

    ceiling(x) x verisini bi ste yuvarlar

    floor(x) x verisinin bi alta yuvarlar

    round(x, digits=n) x verisinin yuvarlar ve n tane basamagn grntler

    cos(x), sin(x), tan(x) x verisinin trigonometrik hesaplarn grntler

    log(x) x verisinin logaritmasn grntler

    2. Karakter Fonksiyonlar

    26

  • Fonksyion Tanm

    substr(x, start=n1, stop=n2) x stringinin n1. karakterinden baslayarak

    n2. karakterine kadar olan ksm grntler

    sub("x",replacement,y) y stringinde bulunan x stringini replacement

    stringi ile yer degistirir

    strsplit(x, "") x stringindeki karakterleri

    ift trnak iine alarak ayrr

    toupper(x) x stringindeki karakterleri hepsini byk yapar

    tolower(x) x stringindeki karakterleri hepsini kk yapar

    2.5.2 Fonksiyon Olusturma

    my f unction

  • }Kullanm

    hesap(8,5)

    Aklama: cat() fonskiyonu veriyi ekranda gstermeye yarar

    2.5.3 zel Fonksiyonlar

    cbind() Fonksiyonucbind() fonksiyonu stunlar ile vektr, matriks veya veri erevesini, birlestirir

    x

  • x
  • Bir ingilizce snavnda 12 tane oktan semeli sorular oldugunu varsayalm. Her bir soru

    iin olas bes cevap vardr ve onlardan sadece biri dogrudur. Eger bir grenci rastgele her sorunun

    cevabn bulmaya alsrsa, drt yada daha az dogru cevaplama olaslgn bulalm

    zm

    Bes olas cevap zerinden sadece biri dogru oldugundan, bir sorunun cevabn rastgele ola-

    rak dogru olma olaslg 1/5=0.2 dir. Asagdaki gibi rastgele olarak tam 4 soruyu cevaplama olas-

    lgn bulabiliriz

    dbinom(4,size= 12, prob= 0.2)

    4 veya daha az sorular cevaplama olaslgn bulmak iin dbinom fonsiyonuna x=0,..4 uygula-

    nr

    dbinom(0,size= 12, prob= 0.2) +

    +dbinom(1,size= 12, prob= 0.2)+

    +dbinom(2,size= 12, prob= 0.2)+

    +dbinom(3,size= 12, prob= 0.2)+

    +dbinom(4,size= 12, prob= 0.2)

    Alternatif olarak toplu olaslk fonksiyonu iin "pbinom" binomal daglm kullanlabilir

    pbinom(4,size= 12, prob= 0.2)

    2.6.2 Poission Daglm

    Poisson daglm bir aralkta, bagmsz olay olusumlarnn olaslk daglmdr. Eger ara-

    lklar itibariyle ortalama ise, o zaman verilen aralk iinde x olusumlara sahip olaslk:

    f (x) = xex

    x!where x= 0,1,2,3..

    Problem

    30

  • Eger ortalama kprde dakikada 12 araba varsa, Belirli bir dakika iinde kprde 17 veya

    daha fazla araba olma olaslgn bulun

    zm

    Belirli bir dakika iinde kprde 17 veya daha az araba olma olaslg, "ppois" ile verilir

    ppois(16, lambda= 12) : lower tail

    Dolaysyla bir dakika iinde kpr, 17 veya daha fazla araba geisine sahip olma olaslg,

    olas yogunluk fonksiyonun st ksmdr

    ppois(16, lambda= 12, lower = FALSE) :Up tail

    2.6.3 Normal Daglm

    Normal daglm, asagdaki olaslk yogunluk fonksiyonu ile tanmlanr, burda , populas-

    yon ortalamas,2 ise varyanstr

    f (x) =1

    2ne(xm)

    2/22

    Eger rastgele bir x degiskenini, normal daglm takip ediyorsa, o zaman asagdaki yazlr

    X N(,2)

    zellikle, =0 ve =1 ise normal daglm, standart normal daglm olarak ve N(0,1) olarak ifade

    edilir

    Merkez limit teoremi nedeniyle, normal daglm nemlidir. n sonsuza yaklastg zaman orta-

    lama ve 2/n ile normal daglma yaklasr. ortalama ve 2 ile bir populasyondan n boyutunda

    olas tm rneklerin populasyonunu ifade eder

    Problem

    31

  • Bir niversite giris snav test puanlar normal daglma uygun oldugunu varsayalm. Ayrca,

    ortalama test puan 72 ve standart sapmas 15.2 dir. snavda 84 yada daha fazla alan grencilerin

    yzdesi katr

    zm

    Ortalama 72 ve standart sapma 15.2 ie normal daglmn "pnorm" fonksiyonu uygulanr.

    nk 84 ten daha yksek alan grencilerin yzdesi istenmekte. Normal daglm st kuyruguna

    baklr

    pnorm(84,mean= 72,sd = 15.2, lower.tail = FALSE)

    2.6.4 Srekli Dzgn Daglm

    Srekli dzgn daglm, a ve b arasnda srekli aralktan, rastgele say seiminin olaslk

    daglmdr. Yogunluk fonksiyonu asagdaki fonksiyonla tanmlanr

    f (x) =

    1ba when a x b0 whenx< a or x> b

    Problem

    1 ve 3 arasnda rastgele 10 tane say sein

    zm

    1 ve 3 arasnda 10 tane rastgele say retmek iin srekli daglmn retim fonksiyonu ru-

    nifi uygulanr

    32

  • runi f (10,min= 1,max= 3)

    2.6.5 ssel Daglm

    ssel daglm, rastgele olarak yenilenen bagmsz olay dizisinin vars zamann tanmlar

    Eger bir sonraki olay tekrarnda ortalama bekleme sresi ise, olas yogunluk fonksiyonu:

    f (x) =

    1 ex/ when x 00 when x< 0

    Problem

    Bir spermarket kasiyerin ortalama deme sresi 3 dakika oldugunu varsayalm. Bir ms-

    terinin deme olaslgn 2 dakikadan daha az srede kasiyer tarafndan tamamlanmasn bulun

    zm

    deme islemi oran, ortalama deme tamamlanma sresinin bl birine esittir. Dolaysyla

    islem hz dakikada 1/3 tr. Daha sonra, 1/3 oran ile ssel daglmn "pexp" fonksiyonu ile hesap-

    lanr

    pexp(2,rate= 1/3)

    33

  • 3 R PAKET UYGULAMALARI

    3.1 Karekk Almay Gereklestiren Yapay Sinir Ag Olustuma

    3.1.1 Uygulamann Amac

    Bu uygulamada, bir say alabilen ve karakkn(mmkn oldugunca yakn) hesaplayabilen

    bir yapay ag olusturacagz.

    3.1.2 Uygulamann Ierigi

    Yapay sinir agmz tek bir giris alacak,(karakkn almasn istedigimiz bir say) ve tek

    bir ks retecek(girisin karakk). Yapay sinir ag, kendigini egitmek iin 10 tane gizli nron

    iermektedir

    3.1.3 Ugulamann Asamalar

    1. Yapay sinir ag olusturmak iin Ra "neuralnet" paketinin yklenmesi ve kullanmak iin

    "neuralnet" paketinin eklenmesi

    2. 0 ve 100 arasnda esit olarak dagtlan 50 tane rastgele say retmek

    3. retilen saylar dataframe olarak tutulmas

    4. retilen saylarn karakkn tutan bir vektr tanmlamak

    5. Stunlar ile veriyi birlestirip bir degiskene atama

    6. Verilerin bulundugu stunlara isim verme

    7. Net hesab

    8. Sonular yazdrma

    9. Yapay agmz izme

    10. Test verisi olusturma

    34

  • 11. Test verisinin sonularn hesaplama

    3.1.4 Ugulamann R kodlar

    install.packages(neuralnet )

    library(neuralnet)

    egitim_girileri

  • 3.1.5 Uygulamann Sonucu

    Bu uygulamada olusturulan ag, egitim verileri(egitim girisi ve egitim ks) ile egitilerek

    bir saynn karekkne en yakn degerlerine ulaslmas sagland

    3.2 Iris Verisini snflandran Yapay Sinir Ag Olustuma

    3.2.1 Uygulamann Amac

    Bu uygulamada, Iris verisini nnet(perceptron) paketi ile snflandrma

    3.2.2 Uygulamann Ierigi

    Yapay sinir agmz 4 girisli, tek ksl ve 1 gizli katmanda olusmaktadr ve snflandrma

    olarak "iek tr" referans almaktadr.

    3.2.3 Ugulamann Asamalar

    1. Yapay sinir ag olusturmak iin Ra "nnet" paketinin yklenmesi ve kullanmak iin "nnet"

    paketinin eklenmesi

    2. Verinin eklenmesi ve Dzenlenmesi

    3. Verinin snflandrlmas

    4. Olusturulan Agn izmi

    5. agn test asamas

    3.2.4 Ugulamann R kodlar

    install.packages(datasets)

    install.packages(nnet )

    36

  • library(datasets)

    library(nnet)

    ir

  • 3.2.5 Uygulamann Sonucu

    Bu uygulamada olusturulan ag, egitim verileri(egitim girisi ve egitim ks) ile egitilerek

    en iyi model olusturulmustur

    3.3 Yapay Sinir Ag ile "Dataset" paketindeki "infert" verisini snf-

    landrma

    3.3.1 Uygulamann Amac

    "Dataset" paketinde bulunan "infert" verisinin sahip oldugu "case" degiskenine gre snf-

    landrma

    3.3.2 Uygulamann Ierigi

    "Dataset" paketinde bulunan 248 gzlem ve 8 degiskene sahip "infert" verisinin 2 gizli

    "age","parity","induced","spontaneous" degiskenlerinin giris olarak kullanarak "case durumlarn

    snfladrma

    3.3.3 Ugulamann Asamalar

    1. Veriyi elde etmek iin "Dataset" ktphanesinin agrlmas

    2. Ag egitmek iin "neuralnet" ktphanesinin agrlmas

    3. Elde edilen veri ile "neuralnet" ktphanesinin fonksiyonlar ile ag egitme

    4. Elde edilen ag izme

    3.3.4 Ugulamann R kodlar

    library(datasets)

    38

  • names(in f ert)

    library(neuralnet)

    nn

  • 3.4.2 Uygulamann Ierigi

    grenme iin elde edilen egitim verisi 2000 gzlem ve 6 degiskene sahip bu degiskenler

    "client id", "income", "age", "loan", "LTI", "default10yr" dir. Ag girisi olarak "age" ve "LTI(the

    loan to yearly income ratio)" ele alnmstr ve ks olarak "default10yr" tir.

    3.4.3 Uygulamann Asamalar

    1. Veriyi R ortamna ekleme

    2. Egitim ve Test verisi olusturma

    3. Ag egitmek iin "neuralnet" ktphanesinin agrlmas

    4. Elde edilen egitim verisi ile ag egitme

    5. Elde edilen ag izme

    6. Test verisi ile ag test etme

    3.4.4 Ugulamann R kodlar

    library(neuralnet)

    getwd()

    setwd(C : /Users/acer/Desktop)

    dataset

  • plot(creditnet,rep= best)

    Sekil 29: Kredi Derecelendirme Gereklestiren Yapay Sinir Ag

    temp_test

  • 3.5.2 Uygulamann Ierigi

    Uygulamada Shiny paketi ile gereklestirilen web arayznde eklenilen verilerin zeti, veri

    yaps, veri degiskenleriin iiski izimleri ve veri modellenmesi gereklestirilmistir.

    3.5.3 Uygulama

    Sekil 30: Shiny Paket Uygulmas

    3.6 Yapay sinir Ag ile Animasyon rnegi

    3.6.1 Uygulama

    Sekil 31: nnet ve animation Paket Uygulmas

    42

  • ARASTIRMA BULGULARI VE TARTISMA

    Yaplan uygulamalar sonucunda R programlama dilinin istatistiksel, veri madenciligi, veri

    analizi ve grsellestirme(grafik) gibi konularda ok iyi oldugu tespit edilmistir. Diger program-

    lama dillerini geride brakarak kullanc says srekli olarak artmaktadr, Verinin srekli artg bir

    dnyada bu verilerin analizi iin R bir adm ne kmaktadr.

    43

  • SONULAR VE NERILER

    Bu alsmada, son yllarda akademik alsmalarda yaygn olarak kullanlan R programlama

    dilinin tantlmas hedeflenmistir. R, cretsiz olarak temin edilmesi ve dnyann esitli blgele-

    rindeki arastrmaclarn bu dilin gelisimine destek vermesi sonucunda, zellikle veri isleme ve

    zmleme alanlarnda alsan kullanclarn dikkatini ekmistir

    44

  • KAYNAKLAR

    [1]http://cran.us.r-project.org/doc/manuals/r-patched/R-lang.html

    [2]ab.org.tr/ab10/sunum/37.pdf

    [3]inet-tr.org.tr/inetconf19/sunum/16.pdf

    [4]http://datawarehouse.gen.tr/r-programi-ve-ozellikleri/

    [5]mmfdergi.ogu.edu.tr/mmfdrg/2005-2/6.pdf

    [6]http://tr.wikipedia.org/

    [7]http://www.endmemo.com/program/R

    [8]http://www.statmethods.net/

    [9]http://www.rdatamining.com/

    [9]http://www.rdatamining.com/

    [9]http://www.rdatamining.com/

    [10]http://www.r-bloggers.com/

    [11]https://github.com/

    45

  • ZGEMIS

    KISISEL BILGILER

    Ad Soyad :SKR ERGNTOP

    Uyrugu : T.C

    Dogum Yeri ve Tarihi: VAN/20-06-1992

    Adres : -

    -

    Telefon : 0551-553-99-86

    e-mail : -@-

    EGITIM DURUMU

    Lisans grenimi : Bilecik Seyh Edebali niverstesi, Bilecik

    Bitirme Yl : 2015

    Lise : -

    IS DENEYIMLERI

    Yl : -

    Kurum : -

    Stajlar : TRT Bilgi Islem Dairesi(Yazlm ve Donanm)

    ILGI ALANLARI

    YABANCI DILLER : Orta

    46

    NSZEKLLER TABLOSUGRProjede Kullanlan Programlama DiliR Programlama'ya GiriR Programlama Dili Artlar ve EksileriR Grafik Kullanc ArayzleriR Programlama Dili zellikleriR programlama Paketleri

    R PROGRAMALAMAVeri TipleriDizilerMatrixListVeri erevesiVektrler

    Dngler, Koullar ve DurumlarFor dngsf-ElseRepeat dngsWhichWhile

    izimler ve GrafiklerBarplot ile ubuk Grafik izimiCirclePlotPlot PCH Sembol TablosuPlot Renk Tablosupie(Pasta) GrafiiHistogramLines

    Veri Okuma ve YazmaR Ortamna Excelden Veri AktarmaR Ortamna txt'den Veri AktarmaR Ortamnda Veri OluturmaR Ortamna Aktarlan Verileri Grntleme

    Veri YnetimiHazr FonksiyonlarFonksiyon Oluturmazel Fonksiyonlar

    R Programlama Olaslk DalmlarBinomal DalmPoission DalmNormal DalmSrekli Dzgn Dalmssel Dalm

    R PAKET UYGULAMALARIKarekk Almay Gerekletiren Yapay Sinir A OlutumaUygulamann AmacUygulamann eriiUgulamann AamalarUgulamann R kodlarUygulamann Sonucu

    ris Verisini snflandran Yapay Sinir A OlutumaUygulamann AmacUygulamann eriiUgulamann AamalarUgulamann R kodlarUygulamann Sonucu

    Yapay Sinir A ile "Dataset" paketindeki "infert" verisini snflandrmaUygulamann AmacUygulamann eriiUgulamann AamalarUgulamann R kodlar

    Yapay Sinir A ile Kredi Derecelendirmesi UygulamasUygulamann AmacUygulamann eriiUygulamann AamalarUgulamann R kodlar

    Web Ortamnda Dinamik Veri AnaliziUygulamann AmacUygulamann eriiUygulama

    Yapay sinir A ile Animasyon rneiUygulama

    ARATIRMA BULGULARI VE TARTIMASONULAR VE NERLERKAYNAKLARZGEM