3.baskı, Seçkin Yayınevi, Ankara.

Bölüm 2. R Programlama Dili

R Paketlerinin Yüklenmesi

install.packages("paketAdı")
library("paketAdı")

Örneğin;

install.packages("C50")
library("C50")

Yardım

help ("kmeans")

veya

?kmeans

Temel Aritmetik İşlemler - 1

2+8
## [1] 10
2^8
## [1] 256
exp(2)
## [1] 7.389056

Temel Aritmetik İşlemler - 2

sin(2)
## [1] 0.9092974
log(10)
## [1] 2.302585
log10(10)
## [1] 1
log2(10)
## [1] 3.321928

Vektör İşlemleri - 1

x <- c(60, 40, 80, 50, 20)
x
## [1] 60 40 80 50 20
x+5
## [1] 65 45 85 55 25
sum(x)
## [1] 250

Vektör İşlemleri - 2

ort<-sum(x)/length(x)
ort
## [1] 50
varyans<-sum((x - ort)^2)/(length(x)-1)
varyans
## [1] 500
stsapma<-sqrt(varyans)
stsapma
## [1] 22.36068

Vektör İşlemleri - 3

y<-c(1:16)
y
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
z<-seq(1,15,2)
z
## [1]  1  3  5  7  9 11 13 15

Vektör İşlemleri - 4

z<-seq(0,1,0.01)
z
##   [1] 0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10 0.11 0.12 0.13 0.14
##  [16] 0.15 0.16 0.17 0.18 0.19 0.20 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29
##  [31] 0.30 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.40 0.41 0.42 0.43 0.44
##  [46] 0.45 0.46 0.47 0.48 0.49 0.50 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59
##  [61] 0.60 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.70 0.71 0.72 0.73 0.74
##  [76] 0.75 0.76 0.77 0.78 0.79 0.80 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89
##  [91] 0.90 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.00

Matris İşlemleri - 1

A <- matrix(c(60, 40, 80, 50, 20, 50),3,2)
A
##      [,1] [,2]
## [1,]   60   50
## [2,]   40   20
## [3,]   80   50
A[,1]
## [1] 60 40 80
A[2,]
## [1] 40 20

Matris İşlemleri - 2

C<-matrix(1:12,nrow=3,byrow=T)
C
##      [,1] [,2] [,3] [,4]
## [1,]    1    2    3    4
## [2,]    5    6    7    8
## [3,]    9   10   11   12
C<-matrix(1:12,nrow=3,byrow=F)
C
##      [,1] [,2] [,3] [,4]
## [1,]    1    4    7   10
## [2,]    2    5    8   11
## [3,]    3    6    9   12

Matris İşlemleri - 3

colnames(C) <- LETTERS[1:4]
C
##      A B C  D
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
colnames(C)<-c("Adana","Bursa","Istanbul","Kayseri")
C
##      Adana Bursa Istanbul Kayseri
## [1,]     1     4        7      10
## [2,]     2     5        8      11
## [3,]     3     6        9      12

Matris İşlemleri - 4

rbind(C,c(13, 14, 15, 16))
##      Adana Bursa Istanbul Kayseri
## [1,]     1     4        7      10
## [2,]     2     5        8      11
## [3,]     3     6        9      12
## [4,]    13    14       15      16
cbind(C,c(17, 18, 19))
##      Adana Bursa Istanbul Kayseri   
## [1,]     1     4        7      10 17
## [2,]     2     5        8      11 18
## [3,]     3     6        9      12 19

Matris İşlemleri - 4

S<-matrix(c(9,10,10,10,16,20,15,20,25),3,3)
S
##      [,1] [,2] [,3]
## [1,]    9   10   15
## [2,]   10   16   20
## [3,]   10   20   25
solve(S)
##               [,1]  [,2]  [,3]
## [1,]  8.881784e-17  0.50 -0.40
## [2,] -5.000000e-01  0.75 -0.30
## [3,]  4.000000e-01 -0.80  0.44

Paketlerdeki Verilerin Kullanılması - 1

data(package = "paketAdı")
data(package = "boot")
veri<-head(data(package = "boot"))
head(veri[["results"]][,3:4])
##      Item         Title                                            
## [1,] "acme"       "Monthly Excess Returns"                         
## [2,] "aids"       "Delay in AIDS Reporting in England and Wales"   
## [3,] "aircondit"  "Failures of Air-conditioning Equipment"         
## [4,] "aircondit7" "Failures of Air-conditioning Equipment"         
## [5,] "amis"       "Car Speeding and Warning Signs"                 
## [6,] "aml"        "Remission Times for Acute Myelogenous Leukaemia"

Paketlerdeki Verilerin Kullanılması - 2

data(package = .packages(all.available = TRUE))

Veri Seti Oluşturma

numara<-c("190410001","190410002","190410004","190410065",
          "190410098")
ad<-c("Mira Yıldız","Ayşe Bilgili","Ahmet Budak","Ege Seven",
                                             "Gözde Çalışkan")
cins<-c("Kadın","Kadın","Erkek","Erkek","Kadın")
yas<-c(20,21,21,24,26)
Veri1<-cbind(numara,ad,cins,yas)
Veri1
##      numara      ad               cins    yas 
## [1,] "190410001" "Mira Yıldız"    "Kadın" "20"
## [2,] "190410002" "Ayşe Bilgili"   "Kadın" "21"
## [3,] "190410004" "Ahmet Budak"    "Erkek" "21"
## [4,] "190410065" "Ege Seven"      "Erkek" "24"
## [5,] "190410098" "Gözde Çalışkan" "Kadın" "26"

Veri Setine Sütun Ekleme

notlar<-c(95,82,65,74,70)
Veri1<-cbind(Veri1,notlar)
Veri1
##      numara      ad               cins    yas  notlar
## [1,] "190410001" "Mira Yıldız"    "Kadın" "20" "95"  
## [2,] "190410002" "Ayşe Bilgili"   "Kadın" "21" "82"  
## [3,] "190410004" "Ahmet Budak"    "Erkek" "21" "65"  
## [4,] "190410065" "Ege Seven"      "Erkek" "24" "74"  
## [5,] "190410098" "Gözde Çalışkan" "Kadın" "26" "70"

Veri Setine Satır Ekleme

Veri1<-rbind(Veri1,c("190410099","Ali Bal","Erkek",24,74))
Veri1
##      numara      ad               cins    yas  notlar
## [1,] "190410001" "Mira Yıldız"    "Kadın" "20" "95"  
## [2,] "190410002" "Ayşe Bilgili"   "Kadın" "21" "82"  
## [3,] "190410004" "Ahmet Budak"    "Erkek" "21" "65"  
## [4,] "190410065" "Ege Seven"      "Erkek" "24" "74"  
## [5,] "190410098" "Gözde Çalışkan" "Kadın" "26" "70"  
## [6,] "190410099" "Ali Bal"        "Erkek" "24" "74"

Dataframe Oluşturma - 1

Veri2<-data.frame(numara,ad,cins,yas,notlar)
Veri2
##      numara             ad  cins yas notlar
## 1 190410001    Mira Yıldız Kadın  20     95
## 2 190410002   Ayşe Bilgili Kadın  21     82
## 3 190410004    Ahmet Budak Erkek  21     65
## 4 190410065      Ege Seven Erkek  24     74
## 5 190410098 Gözde Çalışkan Kadın  26     70

Dataframe Oluşturma - 2

Veri2[1,5]<-Veri2[1,5]+5
Veri2
##      numara             ad  cins yas notlar
## 1 190410001    Mira Yıldız Kadın  20    100
## 2 190410002   Ayşe Bilgili Kadın  21     82
## 3 190410004    Ahmet Budak Erkek  21     65
## 4 190410065      Ege Seven Erkek  24     74
## 5 190410098 Gözde Çalışkan Kadın  26     70

Veriyi Kaydetme (Metin Dosyası)

write.table(x, file = "", append = FALSE, sep = " ", dec = ".", 
            row.names = TRUE, col.names = TRUE)
Veri2
##      numara             ad  cins yas notlar
## 1 190410001    Mira Yıldız Kadın  20    100
## 2 190410002   Ayşe Bilgili Kadın  21     82
## 3 190410004    Ahmet Budak Erkek  21     65
## 4 190410065      Ege Seven Erkek  24     74
## 5 190410098 Gözde Çalışkan Kadın  26     70
write.table(Veri2, "ogrenci.csv")

Veriyi Kaydetme (Excel Dosyası)

install.packages("xlsx")
write.xlsx(x, file, sheetName="Sheet1", col.names=TRUE,row.names=TRUE, 
           append=FALSE, showNA=TRUE, password=NULL)
library(xlsx)
write.xlsx(Veri2, file="ogrenci.xlsx")

Veriyi Kaydetme (SPSS Dosyası)

install.packages("haven")
write_sav(data, path, compress = FALSE)
library(haven)
write_sav(Veri2, "ogrenci.sav")

Veriyi Kaydetme (Veritabanı)

install.packages("RSQLite")
library(RSQLite)
con <- dbConnect(SQLite())
dbWriteTable(con, "ogrenci_db", Veri2)
dbReadTable(con, "ogrenci_db")
##      numara             ad  cins yas notlar
## 1 190410001    Mira Yıldız Kadın  20    100
## 2 190410002   Ayşe Bilgili Kadın  21     82
## 3 190410004    Ahmet Budak Erkek  21     65
## 4 190410065      Ege Seven Erkek  24     74
## 5 190410098 Gözde Çalışkan Kadın  26     70

Veri Okuma (Metin Dosyası)

read.table("ogrenci.csv")
##      numara             ad  cins yas notlar
## 1 190410001    Mira Yıldız Kadın  20    100
## 2 190410002   Ayşe Bilgili Kadın  21     82
## 3 190410004    Ahmet Budak Erkek  21     65
## 4 190410065      Ege Seven Erkek  24     74
## 5 190410098 Gözde Çalışkan Kadın  26     70

Veri Okuma (Excel Dosyası)

read.xlsx("ogrenci.xlsx",1,encoding ="UTF-8")
##   NA.    numara             ad  cins yas notlar
## 1   1 190410001    Mira Yıldız Kadın  20    100
## 2   2 190410002   Ayşe Bilgili Kadın  21     82
## 3   3 190410004    Ahmet Budak Erkek  21     65
## 4   4 190410065      Ege Seven Erkek  24     74
## 5   5 190410098 Gözde Çalışkan Kadın  26     70

Veri Okuma (SPSS Dosyası)

read_sav("ogrenci.sav")
## # A tibble: 5 x 5
##   numara    ad             cins    yas notlar
##   <chr>     <chr>          <chr> <dbl>  <dbl>
## 1 190410001 Mira Yıldız    Kadın    20    100
## 2 190410002 Ayşe Bilgili   Kadın    21     82
## 3 190410004 Ahmet Budak    Erkek    21     65
## 4 190410065 Ege Seven      Erkek    24     74
## 5 190410098 Gözde Çalışkan Kadın    26     70