R DİLİNE GENEL BAKIŞ
- Temeli 1976 yılından bu yana Bell Laboratuvarları’nda istatistiksel programlama dili olarak geliştirilen S diline dayanır.
- 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.
- R dilinin ilk sürümü “R core team” tarafından 29 Şubat 2000 tarihinde yayınlanmıştır.
- Geniş bir yelpazede istatistiki ve grafiksel teknikleri içerir.
- Açık kaynak kodlu olması itibariyle geliştirilmeye çok yatkındır.
- R dilinin söz dizimi kuralları (syntax) C diline benzerlik gösterir.
- Fonksiyonel bir programlama dili olan R istatistikçiler ve matematikçiler için kod yazmayı kolaylaştıran fonksiyonlara sahiptir.
- R, yaygın olarak kullanılan SPSS, SAS gibi istatistik paket programlarının aksine istatistiksel yazılım geliştirme ortamıdır. 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.
Özetle R - Bir programlama dilidir.
- İstatiksel bir pakettir. „
- Bir yorumlayıcıdır (interpreter). „
- Özgür bir yazılımdır.
R- STUDIO NASIL KURULUR?
→İlk olarak google'a download r-studio yazarak indirme işlemimize başlamamız gerekiyor.
→Sonra karşımıza çıkan sitede alt kısma inerek işletim sistemimize uygun olan kısmı seçmemiz gerekmektedir.
→Son olarak ise karşımıza R-studio arayüzü gelmektedir. Ve gereken kodları bu kısma yazarız.
BARPLOT ile ÇUBUK GRAFİK ÇİZİMİ
☻6x<-c(3,2,6,8,4)
barplot(x)
Açıklama: x vektöründeki değerleri bir çubuk grafiği ile gösterir.
ÖRNEK UYGULAMA
"Packages" bölümünde ki "Survival" kısmından ulaşılır.
# Kanserin yaşlara göre dağılım grafiğini "Survival" kısmındaki "Cancer" verileriyle elde ederiz.
# "Cancer" komutu ile kanser hastaları üzerinden toplanan verilere (yaş,cinsiyet..) ulaşırız. Bu veriler üzerinden "Kanserin Yaşlara Göre Dağılım Grafiğini" oluşturucaz.
> cancer
inst time status age sex ph.ecog ph.karno pat.karno meal.cal wt.loss
1 3 306 2 74 1 1 90 100 1175 NA
2 3 455 2 68 1 0 90 90 1225 15
3 3 1010 1 56 1 0 90 90 NA 15
4 5 210 2 57 1 1 90 60 1150 11
5 1 883 2 60 1 0 100 90 NA 0
6 12 1022 1 74 1 1 50 80 513 0
7 7 310 2 68 2 2 70 60 384 10
8 11 361 2 71 2 2 60 80 538 1
9 1 218 2 53 1 1 70 80 825 16
10 7 166 2 61 1 2 70 70 271 34
11 6 170 2 57 1 1 80 80 1025 27
12 16 654 2 68 2 2 70 70 NA 23
13 11 728 2 68 2 1 90 90 NA 5
14 21 71 2 60 1 NA 60 70 1225 32
15 12 567 2 57 1 1 80 70 2600 60
16 1 144 2 67 1 1 80 90 NA 15
17 22 613 2 70 1 1 90 100 1150 -5
18 16 707 2 63 1 2 50 70 1025 22
19 1 61 2 56 2 2 60 60 238 10
20 21 88 2 57 1 1 90 80 1175 NA
21 1 301 2 67 1 1 80 80 1025 17
22 6 81 2 49 2 0 100 70 1175 -8
23 1 624 2 50 1 1 70 80 NA 16
24 15 371 2 58 1 0 90 100 975 13
25 12 394 2 72 1 0 90 80 NA 0
26 12 520 2 70 2 1 90 80 825 6
27 4 574 2 60 1 0 100 100 1025 -13
28 13 118 2 70 1 3 60 70 1075 20
29 13 390 2 53 1 1 80 70 875 -7
30 1 12 2 74 1 2 70 50 305 20
31 12 473 2 69 2 1 90 90 1025 -1
32 1 26 2 73 1 2 60 70 388 20
33 7 533 2 48 1 2 60 80 NA -11
34 16 107 2 60 2 2 50 60 925 -15
35 12 53 2 61 1 2 70 100 1075 10
36 1 122 2 62 2 2 50 50 1025 NA
37 22 814 2 65 1 2 70 60 513 28
38 15 965 1 66 2 1 70 90 875 4
39 1 93 2 74 1 2 50 40 1225 24
40 1 731 2 64 2 1 80 100 1175 15
41 5 460 2 70 1 1 80 60 975 10
42 11 153 2 73 2 2 60 70 1075 11
43 10 433 2 59 2 0 90 90 363 27
44 12 145 2 60 2 2 70 60 NA NA
45 7 583 2 68 1 1 60 70 1025 7
46 7 95 2 76 2 2 60 60 625 -24
47 1 303 2 74 1 0 90 70 463 30
48 3 519 2 63 1 1 80 70 1025 10
49 13 643 2 74 1 0 90 90 1425 2
50 22 765 2 50 2 1 90 100 1175 4
51 3 735 2 72 2 1 90 90 NA 9
52 12 189 2 63 1 0 80 70 NA 0
53 21 53 2 68 1 0 90 100 1025 0
54 1 246 2 58 1 0 100 90 1175 7
55 6 689 2 59 1 1 90 80 1300 15
56 1 65 2 62 1 0 90 80 725 NA
57 5 5 2 65 2 0 100 80 338 5
58 22 132 2 57 1 2 70 60 NA 18
59 3 687 2 58 2 1 80 80 1225 0
60 1 345 2 64 2 1 90 80 1075 -3
61 22 444 2 75 2 2 70 70 438 8
62 12 223 2 48 1 1 90 80 1300 68
63 21 175 2 73 1 1 80 100 1025 NA
64 11 60 2 65 2 1 90 80 1025 0
65 3 163 2 69 1 1 80 60 1125 0
66 3 65 2 68 1 2 70 50 825 8
67 16 208 2 67 2 2 70 NA 538 2
68 5 821 1 64 2 0 90 70 1025 3
69 22 428 2 68 1 0 100 80 1039 0
70 6 230 2 67 1 1 80 100 488 23
71 13 840 1 63 1 0 90 90 1175 -1
72 3 305 2 48 2 1 80 90 538 29
73 5 11 2 74 1 2 70 100 1175 0
74 2 132 2 40 1 1 80 80 NA 3
75 21 226 2 53 2 1 90 80 825 3
76 12 426 2 71 2 1 90 90 1075 19
77 1 705 2 51 2 0 100 80 1300 0
78 6 363 2 56 2 1 80 70 1225 -2
79 3 11 2 81 1 0 90 NA 731 15
80 1 176 2 73 1 0 90 70 169 30
81 4 791 2 59 1 0 100 80 768 5
82 13 95 2 55 1 1 70 90 1500 15
83 11 196 1 42 1 1 80 80 1425 8
84 21 167 2 44 2 1 80 90 588 -1
85 16 806 1 44 1 1 80 80 1025 1
86 6 284 2 71 1 1 80 90 1100 14
87 22 641 2 62 2 1 80 80 1150 1
88 21 147 2 61 1 0 100 90 1175 4
89 13 740 1 44 2 1 90 80 588 39
90 1 163 2 72 1 2 70 70 910 2
91 11 655 2 63 1 0 100 90 975 -1
92 22 239 2 70 1 1 80 100 NA 23
93 5 88 2 66 1 1 90 80 875 8
94 10 245 2 57 2 1 80 60 280 14
95 1 588 1 69 2 0 100 90 NA 13
96 12 30 2 72 1 2 80 60 288 7
97 3 179 2 69 1 1 80 80 NA 25
98 12 310 2 71 1 1 90 100 NA 0
99 11 477 2 64 1 1 90 100 910 0
100 3 166 2 70 2 0 90 70 NA 10
[ reached getOption("max.print") -- omitted 128 rows ]
# " canser$age " komutu ile herbir satırdaki yaş bilgisi sırası ile gelmektedir.
>canser$age
[1] 74 68 56 57 60 74 68 71 53 61 57 68 68 60 57 67 70 63 56 57 67 49 50 58 72 70
[27] 60 70 53 74 69 73 48 60 61 62 65 66 74 64 70 73 59 60 68 76 74 63 74 50 72 63
[53] 68 58 59 62 65 57 58 64 75 48 73 65 69 68 67 64 68 67 63 48 74 40 53 71 51 56
[79] 81 73 59 55 42 44 44 71 62 61 44 72 63 70 66 57 69 72 69 71 64 70 58 69 56 63
[105] 59 66 54 67 55 75 69 44 80 75 54 76 49 68 66 80 75 60 69 72 70 66 50 64 77 48
[131] 59 53 47 55 67 74 58 56 54 56 73 74 76 65 57 53 71 54 82 59 70 60 62 53 55 69
[157] 68 62 63 56 62 44 69 63 64 57 60 46 61 65 61 58 56 43 53 59 56 55 53 74 60 39
[183] 66 65 51 45 72 58 64 53 72 52 50 64 71 70 63 64 52 60 64 73 63 50 63 62 55 50
[209] 69 59 60 67 69 64 65 65 41 76 70 57 67 71 76 77 39 75 66 58
# " head(cancer) " dersek kanserle ilgili toplanmış verilerin özet (belirli bir) kısmını görürüz.
> head(cancer)
inst tim status age sex ph.ecog ph.karno pat.karno meal.cal wt.loss
1 3 306 2 74 1 1 90 100 117 NA
2 3 455 2 68 1 0 90 90 1225 15
3 3 1010 1 56 1 0 90 90 NA 15
4 5 210 2 57 1 1 90 60 1150 11
5 1 883 2 60 1 0 100 90 NA 0
6 12 022 1 74 1 1 50 80 513 0
# " table(cancer$age) " komutu yaşa göre tablo oluşturur.
>table(cancer$age)
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
2 1 1 1 1 5 1 1 1 4 2 6 2 2 9 4 6 9 9 8 8 11 5 7 11 11 8 7
67 68 69 70 71 72 73 74 75 76 77 80 81 82
8 10 11 10 7 7 6 10 5 5 2 2 1 1
# " barplot(table(cancer$age)) " komutu ilk olarak "cancer$age" i tablo yapısına getirir. Sonra "barplot" unu çizdirir.
>barplot(table(cancer$age))
EKRAN GÖRÜNTÜLERİ
KAYNAKLAR
→ https://www.youtube.com/watch?v=fY-t-dNL5Eg
→ http://inet-tr.org.tr/inetconf19/sunum/16.pdf
→ http://emreugur.blogspot.com.tr/
→ http://docplayer.biz.tr/3515384-T-c-r-programlama-ve-bazi-r-paket-uygulamalari-sukru-erguntop.html
→ http://emreugur.blogspot.com.tr/
→ http://docplayer.biz.tr/3515384-T-c-r-programlama-ve-bazi-r-paket-uygulamalari-sukru-erguntop.html