Upload
murat-oezalp
View
65
Download
5
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
{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
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
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
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