-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbasics.qmd
165 lines (112 loc) · 4.92 KB
/
basics.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# Temel Fonksiyonlar
## Çalışma Dizini
Çalışma Dizini, üzerinde çalıştığınız projenin tüm gerekli dosya ve belgelerini içerdiği yerdir. Çalışma dizininizi ayarlamanın iki yolu vardır. İlk yol [**getwd ve setwd**]{.underline} işlevlerini kullanmaktır. Diğer yol ise RStudio üzerinden [**Session\>Set Working Directory**]{.underline} youluyla yapılabilir.
```{r}
#| eval: false
getwd()
```
- [**`dir`**]{.underline} veya [**`list.files`**]{.underline} komutları ile dizinde yer alan dosyalar öğrenilebilir.
- [**`dir.create`**]{.underline} komutu ile yeni bir klasör oluşturmak mümkündür.
- [**`file.exists`**]{.underline} kullanılarak klasörün var olup olmadığı sorgulanabilir.
## Yardımcı Bilgiler
**R** komutlarında *Büyük-küçük harf duyarlılığı (case sensitive)* vardır.
```{r}
a <- 5
print(a)
A <- 6
print(A)
```
**Noktalı virgül (;)** işareti ile aynı satırda birden fazla kod çalıştırılabilir hale getirilir.
```{r}
x <- 1 ; y <- 2 ; z <- 3
x; y; z
```
Komutlar arası açıklamaları ve yorumları **#(hashtag)** ile yazabiliriz. Hastagli satırlar, kod olarak algılanıp çalıştırılmaz. Bu kısımlara yazılan kodlar ile ilgili hatırlatıcı bilgiler (comment) yazılabilir.
```{r}
#6 ile başyalan ve 10 ile biten tamsayıları c vektörüne atayalım
c <- 6:10
c
```
- **`ls()`** çalışma alanındaki nesne ve fonksiyonları listeler.
- **`rm(a)`** çalışma alanından **a** nesnesini siler.
- **`rm(list=ls())`** bütün çalışma alanını temizler.
- **`q()`** R'dan çıkış yapmayı sağlar.
- **`install.packages("package")`** paket yüklemeyi sağlar.
- **`library("package")`** yüklü olan paketi getirir.
- **`installed.packages()`** yüklü olan paketleri listeler
- **`options(digits=10)`** sayılarda ondalık kısmın basamak sayısını ifade eder.
- **`help()`** fonksiyonu ya da **`?`** ile bir fonksiyon hakkında yardım alınabilir. Örneğin mean fonksiyonu ile ilgili yardım almak için scripte `?mean` ya da help(mean) yazmanız ve çalıştırmanız yeterlidir. Bunun yanı sıra R Studio penceresinin sağ alt kısmındaki help alanını kullanabilirsiniz.
## Atama Operatörü
Bir değişkene, tabloya veya objeye değer atarken **'\<-'** veya **'='** operatörü kullanılır. '**\<-**' atama operatöründe ok hangi yöndeyse o tarafa atama yapılır. Genellikle '**\<-**' operatörü kullanılmaktadır. Çünkü '**=**' operatörü filtrelemelerde veya işlemlerdeki '**==**' ile karıştırılabilmektedir. Ayrıca fonksiyonlar içinde de kullanılabildiği için kod karmaşasına sebebiyet verebilir. Her iki operatör de aynı işlevi görmektedir.
```{r}
# a'ya 20 değerini atayalım
a <- 20
# tabloyu ya da değeri görüntülemek için nesnenin kendisi de direkt yazılabilir.
# ya da print fonksiyonu kullanılabilir.
print(a)
# b'ye 12 değerini atayalım
b <- 12
print(b)
# a ve b değerlerinden üretilen bir c değeri üretelim.
c <- 2 * a + 3 * b
print(c)
```
**c()** ile vektör oluştutulabilir. c "combine" (birleştirmek) kelimesinin ilk harfini ifade eder. Bir değişkene birden fazla değer atamak istediğimizde kullanılır.
```{r}
# d adında bir vektör oluşturalım ve değerler atayalım.
d <- c(4,7,13)
d
```
Bir metini değişkene atamak istersek de aşağıdaki gibi metin "" işareti içine yazılmalıdır.
```{r}
metin <- "Merhaba Arkadaşlar"
print(metin)
```
## Matematiksel Operatörler
R ve R Studio, güçlü bir hesap makinesi olarak kabul edilebilir.
```{r}
3+5
7*8
88/2
3*(12+(15/3-2))
9^2 # karesini alır
a <- 3
b <- a^2
print(b)
log(15) #ln15 yani doğal logaritma
log10(1000) # 10 tabanına göre hesaplama
exp(12) #exponential power of the number. e (2.718) üzeri 12
factorial(6) # faktöriyel hesaplama yapar
sqrt(81) # karekök alma
abs(-3) # mutlak değer
sign(-5) # işaret bulma
sin(45) # sinüs
cos(90) # cosinüs
pi # pi sayısı
tan(pi) # tanjant
```
## Mantıksal Operatörler
Mantıksal sorgulamalar, koşullarda ve filtrelerde kullanılmaktadır. Verilen koşul veya filtre sağlandığında **TRUE**, sağlanmadığında ise **FALSE** değerleri elde edilmektedir. Bu mantıksal operatörler ayrıca komutlar içindeki özellikleri aktifleştirmek ve pasifleştirmek için de kullanılmaktadır.
Mantıksal operatörler aşağıdaki şekilde kullanılmaktadır:
- eşittir : **==**
- eşit değildir : **!=**
- küçüktür : **\<**
- küçük eşittir : **\<=**
- büyüktür : **\>**
- büyük eşittir : **\>=**
- x değil : **!x**
- x ve y : **x&y**
- x veya y: **x\|y**
```{r}
3 > 5
# & (ve) operatörü
# iki durumda TRUE ise sonuç TRUE döner.
3 < 5 & 8 > 7
# bir durum FALSE diğer durum TRUE ise sonuç FALSE döner.
3 < 5 & 6 > 7
# iki durumda FALSE ise sonuç FALSE döner.
6 < 5 & 6 > 7
# | (veya) operatörü
# Her iki durumdan birisi TRUE ise TRUE döner
(5==4) | (3!=4)
```