Dr. Kubra Atalay Kabasakal
Kasim 2021
Veri setleri matrisler gibi iki boyutludur. Matrisler tek tur veri icerirken, veri setleri farkli veri turlerini bir arada icerebilir. R’da bir cok fonksiyonun veri setleri ile calismaktadir. Veri setleri R ortaminda data.frame() fonksiyonu ile olusturulabilir. data.frame() fonksiyonu ile ayni uzunluktaki vektorlerden bir veri seti olusturulabilir.
ad <- c("Ali","Elif","Su","Deniz","Aras","Berk","Can","Ece","Efe","Arda")
boy <- c(160,165,170,155,167,162,169,158,160,164)
kilo <- c(55,55,57,50,48,65,58,62,45,47)
beden <- c("S","M","S","M","S","L","M","L","S","S")
beden <- factor(beden)
(df <- data.frame(ad,boy, kilo, beden)) # 4 sutunlu df 3 farkli yapi icerir.## ad boy kilo beden
## 1 Ali 160 55 S
## 2 Elif 165 55 M
## 3 Su 170 57 S
## 4 Deniz 155 50 M
## 5 Aras 167 48 S
## 6 Berk 162 65 L
## 7 Can 169 58 M
## 8 Ece 158 62 L
## 9 Efe 160 45 S
## 10 Arda 164 47 S
Eger uzunluklari farkli olan vektorlerle veri setleri olusturulmaya calisilirsa kisa vektor, uzun vektor uzunlugunda tekrar eder.
## x y
## 1 11 10
## 2 12 10
## 3 13 10
## 4 14 10
## x M
## 1 11 10
## 2 12 35
## 3 13 10
## 4 14 35
## Error in data.frame(x, N): arguments imply differing number of rows: 4, 3
## y M
## 1 10 10
## 2 10 35
## y N
## 1 10 2
## 2 10 3
## 3 10 4
## Error in data.frame(M, N): arguments imply differing number of rows: 2, 3
Temel pakette yer alan veri setlerinin bir listesi
Veri setlerinin yer aldigi bir de paket bulunmaktadir.
Hazir veri setleri calisma ortamina data() fonksiyonu ile aktarilabilir.
hazir veri setlerini inceleme
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5.0 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## 11 5.4 3.7 1.5 0.2 setosa
## 12 4.8 3.4 1.6 0.2 setosa
## 13 4.8 3.0 1.4 0.1 setosa
## 14 4.3 3.0 1.1 0.1 setosa
## 15 5.8 4.0 1.2 0.2 setosa
## 16 5.7 4.4 1.5 0.4 setosa
## 17 5.4 3.9 1.3 0.4 setosa
## 18 5.1 3.5 1.4 0.3 setosa
## 19 5.7 3.8 1.7 0.3 setosa
## 20 5.1 3.8 1.5 0.3 setosa
## 21 5.4 3.4 1.7 0.2 setosa
## 22 5.1 3.7 1.5 0.4 setosa
## 23 4.6 3.6 1.0 0.2 setosa
## 24 5.1 3.3 1.7 0.5 setosa
## 25 4.8 3.4 1.9 0.2 setosa
## 26 5.0 3.0 1.6 0.2 setosa
## 27 5.0 3.4 1.6 0.4 setosa
## 28 5.2 3.5 1.5 0.2 setosa
## 29 5.2 3.4 1.4 0.2 setosa
## 30 4.7 3.2 1.6 0.2 setosa
## 31 4.8 3.1 1.6 0.2 setosa
## 32 5.4 3.4 1.5 0.4 setosa
## 33 5.2 4.1 1.5 0.1 setosa
## 34 5.5 4.2 1.4 0.2 setosa
## 35 4.9 3.1 1.5 0.2 setosa
## 36 5.0 3.2 1.2 0.2 setosa
## 37 5.5 3.5 1.3 0.2 setosa
## 38 4.9 3.6 1.4 0.1 setosa
## 39 4.4 3.0 1.3 0.2 setosa
## 40 5.1 3.4 1.5 0.2 setosa
## 41 5.0 3.5 1.3 0.3 setosa
## 42 4.5 2.3 1.3 0.3 setosa
## 43 4.4 3.2 1.3 0.2 setosa
## 44 5.0 3.5 1.6 0.6 setosa
## 45 5.1 3.8 1.9 0.4 setosa
## 46 4.8 3.0 1.4 0.3 setosa
## 47 5.1 3.8 1.6 0.2 setosa
## 48 4.6 3.2 1.4 0.2 setosa
## 49 5.3 3.7 1.5 0.2 setosa
## 50 5.0 3.3 1.4 0.2 setosa
## 51 7.0 3.2 4.7 1.4 versicolor
## 52 6.4 3.2 4.5 1.5 versicolor
## 53 6.9 3.1 4.9 1.5 versicolor
## 54 5.5 2.3 4.0 1.3 versicolor
## 55 6.5 2.8 4.6 1.5 versicolor
## 56 5.7 2.8 4.5 1.3 versicolor
## 57 6.3 3.3 4.7 1.6 versicolor
## 58 4.9 2.4 3.3 1.0 versicolor
## 59 6.6 2.9 4.6 1.3 versicolor
## 60 5.2 2.7 3.9 1.4 versicolor
## 61 5.0 2.0 3.5 1.0 versicolor
## 62 5.9 3.0 4.2 1.5 versicolor
## 63 6.0 2.2 4.0 1.0 versicolor
## 64 6.1 2.9 4.7 1.4 versicolor
## 65 5.6 2.9 3.6 1.3 versicolor
## 66 6.7 3.1 4.4 1.4 versicolor
## 67 5.6 3.0 4.5 1.5 versicolor
## 68 5.8 2.7 4.1 1.0 versicolor
## 69 6.2 2.2 4.5 1.5 versicolor
## 70 5.6 2.5 3.9 1.1 versicolor
## 71 5.9 3.2 4.8 1.8 versicolor
## 72 6.1 2.8 4.0 1.3 versicolor
## 73 6.3 2.5 4.9 1.5 versicolor
## 74 6.1 2.8 4.7 1.2 versicolor
## 75 6.4 2.9 4.3 1.3 versicolor
## 76 6.6 3.0 4.4 1.4 versicolor
## 77 6.8 2.8 4.8 1.4 versicolor
## 78 6.7 3.0 5.0 1.7 versicolor
## 79 6.0 2.9 4.5 1.5 versicolor
## 80 5.7 2.6 3.5 1.0 versicolor
## 81 5.5 2.4 3.8 1.1 versicolor
## 82 5.5 2.4 3.7 1.0 versicolor
## 83 5.8 2.7 3.9 1.2 versicolor
## 84 6.0 2.7 5.1 1.6 versicolor
## 85 5.4 3.0 4.5 1.5 versicolor
## 86 6.0 3.4 4.5 1.6 versicolor
## 87 6.7 3.1 4.7 1.5 versicolor
## 88 6.3 2.3 4.4 1.3 versicolor
## 89 5.6 3.0 4.1 1.3 versicolor
## 90 5.5 2.5 4.0 1.3 versicolor
## 91 5.5 2.6 4.4 1.2 versicolor
## 92 6.1 3.0 4.6 1.4 versicolor
## 93 5.8 2.6 4.0 1.2 versicolor
## 94 5.0 2.3 3.3 1.0 versicolor
## 95 5.6 2.7 4.2 1.3 versicolor
## 96 5.7 3.0 4.2 1.2 versicolor
## 97 5.7 2.9 4.2 1.3 versicolor
## 98 6.2 2.9 4.3 1.3 versicolor
## 99 5.1 2.5 3.0 1.1 versicolor
## 100 5.7 2.8 4.1 1.3 versicolor
## 101 6.3 3.3 6.0 2.5 virginica
## 102 5.8 2.7 5.1 1.9 virginica
## 103 7.1 3.0 5.9 2.1 virginica
## 104 6.3 2.9 5.6 1.8 virginica
## 105 6.5 3.0 5.8 2.2 virginica
## 106 7.6 3.0 6.6 2.1 virginica
## 107 4.9 2.5 4.5 1.7 virginica
## 108 7.3 2.9 6.3 1.8 virginica
## 109 6.7 2.5 5.8 1.8 virginica
## 110 7.2 3.6 6.1 2.5 virginica
## 111 6.5 3.2 5.1 2.0 virginica
## 112 6.4 2.7 5.3 1.9 virginica
## 113 6.8 3.0 5.5 2.1 virginica
## 114 5.7 2.5 5.0 2.0 virginica
## 115 5.8 2.8 5.1 2.4 virginica
## 116 6.4 3.2 5.3 2.3 virginica
## 117 6.5 3.0 5.5 1.8 virginica
## 118 7.7 3.8 6.7 2.2 virginica
## 119 7.7 2.6 6.9 2.3 virginica
## 120 6.0 2.2 5.0 1.5 virginica
## 121 6.9 3.2 5.7 2.3 virginica
## 122 5.6 2.8 4.9 2.0 virginica
## 123 7.7 2.8 6.7 2.0 virginica
## 124 6.3 2.7 4.9 1.8 virginica
## 125 6.7 3.3 5.7 2.1 virginica
## 126 7.2 3.2 6.0 1.8 virginica
## 127 6.2 2.8 4.8 1.8 virginica
## 128 6.1 3.0 4.9 1.8 virginica
## 129 6.4 2.8 5.6 2.1 virginica
## 130 7.2 3.0 5.8 1.6 virginica
## 131 7.4 2.8 6.1 1.9 virginica
## 132 7.9 3.8 6.4 2.0 virginica
## 133 6.4 2.8 5.6 2.2 virginica
## 134 6.3 2.8 5.1 1.5 virginica
## 135 6.1 2.6 5.6 1.4 virginica
## 136 7.7 3.0 6.1 2.3 virginica
## 137 6.3 3.4 5.6 2.4 virginica
## 138 6.4 3.1 5.5 1.8 virginica
## 139 6.0 3.0 4.8 1.8 virginica
## 140 6.9 3.1 5.4 2.1 virginica
## 141 6.7 3.1 5.6 2.4 virginica
## 142 6.9 3.1 5.1 2.3 virginica
## 143 5.8 2.7 5.1 1.9 virginica
## 144 6.8 3.2 5.9 2.3 virginica
## 145 6.7 3.3 5.7 2.5 virginica
## 146 6.7 3.0 5.2 2.3 virginica
## 147 6.3 2.5 5.0 1.9 virginica
## 148 6.5 3.0 5.2 2.0 virginica
## 149 6.2 3.4 5.4 2.3 virginica
## 150 5.9 3.0 5.1 1.8 virginica
Boyut sorgulamamak icin farkli fonksiyonlar kullanilabilir.
## [1] 50 2
## [1] 50
## [1] 2
Veri setlerin ilk satirlar head(), son satirlari ise tail() fonksiyonu ile incelenebilir. head() fonksiyonu olagan olarak ilk 6 satiri yazdirir.
## N.Amer Europe Asia S.Amer Oceania Africa Mid.Amer
## 1951 45939 21574 2876 1815 1646 89 555
## 1956 60423 29990 4708 2568 2366 1411 733
## 1957 64721 32510 5230 2695 2526 1546 773
## 1958 68484 35218 6662 2845 2691 1663 836
## 1959 71799 37598 6856 3000 2868 1769 911
## 1960 76036 40341 8220 3145 3054 1905 1008
Yazdirilacak satir sayisi n argumani ile ayarlanir.
## N.Amer Europe Asia S.Amer Oceania Africa Mid.Amer
## 1951 45939 21574 2876 1815 1646 89 555
## 1956 60423 29990 4708 2568 2366 1411 733
## 1957 64721 32510 5230 2695 2526 1546 773
datasets paketinde yer alan veri setlerinde examples() bolumunde cesitli orneklere yer verilmistir. Ornegin example(WorldPhones)
matplot(rownames(WorldPhones), WorldPhones, type = "b", log = "y",
xlab = "Year", ylab = "Number of telephones (1000's)")
legend("bottomright", colnames(WorldPhones), col = 1:6, lty = 1:5,
pch = rep(21, 7))
title(main = "World phones data: log scale for response")sleep data setinin kullanim ornekleri
## extra group ID
## 1 0.7 1 1
## 2 -1.6 1 2
## 3 -0.2 1 3
require(stats)
## Student's paired t-test
with(sleep,
t.test(extra[group == 1],
extra[group == 2], paired = TRUE))##
## Paired t-test
##
## data: extra[group == 1] and extra[group == 2]
## t = -4.0621, df = 9, p-value = 0.002833
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -2.4598858 -0.7001142
## sample estimates:
## mean of the differences
## -1.58
The sleep prolongations
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00 1.05 1.30 1.58 1.70 4.60
stripchart(sleep1, method = "stack", xlab = "hours",
main = "Sleep prolongation (n = 10)")
boxplot(sleep1, horizontal = TRUE, add = TRUE,
at = .6, pars = list(boxwex = 0.5, staplewex = 0.25))Temel paket haric diger paketelerdeki veri setlerine data(veriseti, package="packagename") seklinde ulasilabilir.
## i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20
## 1 A B B B B C B C B D D C A B A D B D A C
## 2 C D A D C B D B D A D D A B C C C A D C
## 3 B D C D A B A C B D B A A D D A B C B B
## 4 C C D D D A A D D D A B C B D B C B C A
## 5 A A A D A A D B A C A D C C C C A A A B
## 6 A A B C C A A A A A B C C C C B D C D D
Kullanisli olmasa da excel, spps gibi veri girisi saglayan bir arayuz bulunmaktadir.
Veri setlerinde eleman secme matrislerdeki gibidir.
df[satirindeks, sutunindeks]
# df'nin birinci satir elemanlarinin secilmesi
# df'nin birinci sutun elemanlarinin secilmesi
# df'nin ikinci satir elemanlarinin secilmesi
# df'nin ikinci sutun elemanlarinin secilmesi
# df'nin birinci satir ucuncu sutun elemanlarinin secilmesi
# Ali, Elif ve Su isimli ogrencilerin boylarinin secilmesi
#
# Ali,Su ve Ece'nin boylarinin ve kilolarinin secilmesiVeri setlerinde satir elemanlari yazdirildiginda veri seti (data.frame), sutun elemanlari yazdirildiginda ise vektor (vector) olusmaktadir.
## [1] TRUE
## [1] FALSE
Sutun secimi veri seti (data.frame) olarak yapilmak istenirse, drop argumani FALSE degeri ile kullanilir.
## ad
## 1 Ali
## 2 Elif
## 3 Su
## 4 Deniz
## 5 Aras
## 6 Berk
## 7 Can
## 8 Ece
## 9 Efe
## 10 Arda
Veri secim islemi icin subset() fonksiyonu kullanilabilir.
?subset bir fonksiyonu ilk daha kullaniyorsaniz, mutlaka yardim sayfasini inceleyin. ?airquality ornek kodlarini mutlaka calistirin, anlamlandirmaya calisin.
## Ozone Temp
## 42 NA 93
## 43 NA 92
## 69 97 92
## 70 97 92
## 75 NA 91
## 102 NA 92
## 120 76 97
## 121 118 94
## 122 84 96
## 123 85 94
## 124 96 91
## 125 78 92
## 126 73 93
## 127 91 93
## Ozone Solar.R Wind Month Day
## 1 41 190 7.4 5 1
## 32 NA 286 8.6 6 1
## 62 135 269 4.1 7 1
## 93 39 83 6.9 8 1
## 124 96 167 6.9 9 1
## Ozone Solar.R Wind
## 1 41 190 7.4
## 32 NA 286 8.6
## 62 135 269 4.1
## 93 39 83 6.9
## 124 96 167 6.9
## ad boy kilo beden
## 1 Ali 160 55 S
## 3 Su 170 57 S
## 5 Aras 167 48 S
## 9 Efe 160 45 S
## 10 Arda 164 47 S
## ad boy kilo beden
## 5 Aras 167 48 S
## 9 Efe 160 45 S
## 10 Arda 164 47 S
## ad boy
## 5 Aras 167
## 9 Efe 160
## 10 Arda 164
Veri setine yeni sutun ekleme isleme $ operatoru ile [[]] operatoru ile cbind() fonksiyonlari ile yapilabilmektedir.
## S1 S2
## 1 44 53.46004
## 2 70 57.72033
## 3 69 54.33340
## 4 0 61.79383
## 5 86 58.43147
## 6 88 58.23133
$ operatoru ile sutun ekleme
## S1 S2 S3
## 1 44 53.46 75
## 2 70 57.72 67
## 3 69 54.33 64
## 4 0 61.79 77
## 5 86 58.43 76
## 6 88 58.23 79
[[]] operatoru ile sutun ekleme
df2 veri setinin ilk uc sutunun rowMeans() fonksiyonu ile ortalamasinin alinarak ort isimi ile veri setine eklenmesi
## S1 S2 S3 ort
## 1 44 53.46 75 57.49
## 2 70 57.72 67 64.91
## 3 69 54.33 64 62.44
## 4 0 61.79 77 46.26
## 5 86 58.43 76 73.48
## 6 88 58.23 79 75.08
cbind() fonksiyonu ile sutun ekleme
## S1 S2 S3 ort S4
## 1 44 53.46 75 57.49 10
## 2 70 57.72 67 64.91 10
## 3 69 54.33 64 62.44 10
## 4 0 61.79 77 46.26 10
## 5 86 58.43 76 73.48 10
## 6 88 58.23 79 75.08 10
## 7 54 66.50 68 62.83 10
## 8 25 57.23 69 50.41 10
## 9 45 51.67 69 55.22 10
## 10 71 62.07 68 67.02 10
## 11 72 65.97 76 71.32 10
## 12 9 51.63 76 45.54 10
## 13 12 63.91 76 50.64 10
## 14 75 52.63 61 62.88 10
## 15 37 64.67 76 59.22 10
## 16 4 55.00 65 41.33 10
## 17 43 56.80 75 58.27 10
## 18 14 63.20 71 49.40 10
## 19 38 55.30 67 53.43 10
## 20 23 61.92 79 54.64 10
Veri setinden istenilen sutunun cikarilabilir. Bu islemi yapmak icin iki farkli yol kullanilabilir. - operatoru
## S1 S2 S3 ort
## 1 44 53.46 75 57.49
## 2 70 57.72 67 64.91
## 3 69 54.33 64 62.44
## S1 S2 S3
## 1 44 53.46 75
## 2 70 57.72 67
## 3 69 54.33 64
NULL operatoru
## S1 S2
## 1 44 53.46
## 2 70 57.72
## 3 69 54.33
Veri setlerine degisken ekleyip, cikarabileceginiz gibi gozlem de ekleyip, cikarabilirsiniz. Veri setine iki satir ekleme
## [1] 20 2
## S1 S2
## 1 44 53.46
## 2 70 57.72
## 3 69 54.33
## 4 0 61.79
## 5 86 58.43
## 6 88 58.23
## 7 54 66.50
## 8 25 57.23
## 9 45 51.67
## 10 71 62.07
## 11 72 65.97
## 12 9 51.63
## 13 12 63.91
## 14 75 52.63
## 15 37 64.67
## 16 4 55.00
## 17 43 56.80
## 18 14 63.20
## 19 38 55.30
## 20 23 61.92
## 21 50 55.30
## 22 60 65.50
veri birlesiminde bir diger yol merge() fonksiyonudur.
## example of using 'incomparables'
x <- data.frame(k1 = c(NA,NA,3,4,5), k2 = c(1,NA,NA,4,5), data = 1:5);x## k1 k2 data
## 1 NA 1 1
## 2 NA NA 2
## 3 3 NA 3
## 4 4 4 4
## 5 5 5 5
## k1 k2 data
## 1 NA NA 1
## 2 2 NA 2
## 3 NA 3 3
## 4 4 4 4
## 5 5 5 5
## k1 k2 data.x data.y
## 1 4 4 4 4
## 2 5 5 5 5
## 3 NA NA 2 1
## k1 k2.x data.x k2.y data.y
## 1 4 4 4 4 4
## 2 5 5 5 5 5
## 3 NA 1 1 NA 1
## 4 NA 1 1 3 3
## 5 NA NA 2 NA 1
## 6 NA NA 2 3 3
## k2 k1.x data.x k1.y data.y
## 1 4 4 4 4 4
## 2 5 5 5 5 5
Veri setlerinin yapisini incelemek icin str() fonksiyonundan yararlanilmaktadir.
## 'data.frame': 10 obs. of 4 variables:
## $ ad : chr "Ali" "Elif" "Su" "Deniz" ...
## $ boy : num 160 165 170 155 167 162 169 158 160 164
## $ kilo : num 55 55 57 50 48 65 58 62 45 47
## $ beden: Factor w/ 3 levels "L","M","S": 3 2 3 2 3 1 2 1 3 3
“df” veri seti 10 gozlemden , 4 degisken. Her bir degiskenin onunde $ operaturu olduguna dikkat ediniz.
stringsAsFactors argumani ile R’in karakter degiskenlerden faktor olusturmasinin onune gecilebilmektedir.
veri setinin incelenmek icin kullanilabilecek diger fonksiyon ise attributes()
## $names
## [1] "ad" "boy" "kilo" "beden"
##
## $row.names
## [1] 1 2 3 4 5 6 7 8 9 10
##
## $class
## [1] "data.frame"
Veri setleri vektor birlestirme uzerinden yapilirsa, vektor adlari sutun ismi olarak kullanilir. Ancak bu isimler degistirilebilir. Bu islem data.frame() fonksiyonu icinde yapilabilir.
## isim boyolcum kiloolcum bedenolcum
## 1 Ali 160 55 S
## 2 Elif 165 55 M
## 3 Su 170 57 S
## 4 Deniz 155 50 M
## 5 Aras 167 48 S
## 6 Berk 162 65 L
## 7 Can 169 58 M
## 8 Ece 158 62 L
## 9 Efe 160 45 S
## 10 Arda 164 47 S
Veri seti isimlendirme de diger bir yol ise names() ya da colnames() fonksiyonlaridir.
## isim boyolcum kiloolcum bedenolcum
## 1 Ali 160 55 S
## 2 Elif 165 55 M
## 3 Su 170 57 S
## 4 Deniz 155 50 M
## 5 Aras 167 48 S
## 6 Berk 162 65 L
## 7 Can 169 58 M
## 8 Ece 158 62 L
## 9 Efe 160 45 S
## 10 Arda 164 47 S
Veri setinin tumune iliskin betimsel istatistikler
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
Veri setinin tek değişkenine iliskin betimsel istatistikler
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.0 12.0 15.0 15.4 19.0 25.0
attach() fonksiyonu ile bir veri setinin sutunlari sutun isimi ile enviromente eklenir. Aynı islem detach() fonksiyonu ile tersine alinabilir.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 58.0 61.5 65.0 65.0 68.5 72.0
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 58.0 61.5 65.0 65.0 68.5 72.0
## [1] ".GlobalEnv" "women"
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 147.3 156.2 165.1 165.1 174.0 182.9
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 58.0 61.5 65.0 65.0 68.5 72.0
Cogu durumda veriler analiz edilmeden once duzenlenmesi gerekmektedir.
## [1] 160 165 170 155 167 162 169 158 160 164
## [1] 4 8 1 9 6 10 2 5 7 3
Boy siralamasini yapmak icin fonksiyonu vektorun indisi gibi kullanmak gerekmektedir.
## [1] 155 158 160 160 162 164 165 167 169 170
df veri setindeki verilerin boy degiskenine gore siralanmasi yapmak icin ayni indeks gosterme isini veri setinin icinde satir elemani olarak yapmak gerekir.
## isim boyolcum kiloolcum bedenolcum
## 4 Deniz 155 50 M
## 8 Ece 158 62 L
## 1 Ali 160 55 S
## 9 Efe 160 45 S
## 6 Berk 162 65 L
## 10 Arda 164 47 S
## 2 Elif 165 55 M
## 5 Aras 167 48 S
## 7 Can 169 58 M
## 3 Su 170 57 S
df veri setindeki verilerin buyukten kucuge siralanmasi
## isim boyolcum kiloolcum bedenolcum
## 3 Su 170 57 S
## 7 Can 169 58 M
## 5 Aras 167 48 S
## 2 Elif 165 55 M
## 10 Arda 164 47 S
## 6 Berk 162 65 L
## 1 Ali 160 55 S
## 9 Efe 160 45 S
## 8 Ece 158 62 L
## 4 Deniz 155 50 M
aggregate fonksiyonu ise
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## Group.1 isim boyolcum kiloolcum bedenolcum
## 1 L NA 160.0 63.50000 NA
## 2 M NA 163.0 54.33333 NA
## 3 S NA 164.2 50.40000 NA
## Group.1 boyolcum kiloolcum
## 1 L 160.0 63.50000
## 2 M 163.0 54.33333
## 3 S 164.2 50.40000
Bu konu ile ilgili daha ayrintili uygulamalar Veri Duzenleme konusunda verilecektir.
BKI vektorunun uc farkli yollar farkli isimler ile veri setine eklenmesi ve ikisinin cikarilmasi ornegi
## ad boy kilo
## 1 Ali 160 55
## 2 Elif 165 55
## 3 Su 170 57
## 4 Deniz 155 50
## 5 Aras 167 48
## 6 Berk 162 65
## 7 Can 169 58
## 8 Ece 158 62
## 9 Efe 160 45
## 10 Arda 164 47
df$BKI <- df$kilo/ (df$boy/100 * df$boy/100)
df$BKI <- round(df$kilo/ (df$boy/100 * df$boy/100),2)
df[["BKI2"]] <- round(df$kilo/ (df$boy/100 * df$boy/100),2)
df <- cbind(df, BKI3 = round(df$kilo/ (df$boy/100 * df$boy/100),2))
df ## ad boy kilo BKI BKI2 BKI3
## 1 Ali 160 55 21.48 21.48 21.48
## 2 Elif 165 55 20.20 20.20 20.20
## 3 Su 170 57 19.72 19.72 19.72
## 4 Deniz 155 50 20.81 20.81 20.81
## 5 Aras 167 48 17.21 17.21 17.21
## 6 Berk 162 65 24.77 24.77 24.77
## 7 Can 169 58 20.31 20.31 20.31
## 8 Ece 158 62 24.84 24.84 24.84
## 9 Efe 160 45 17.58 17.58 17.58
## 10 Arda 164 47 17.47 17.47 17.47
1: Sırayla degisken adları TamSayi, OndalikSayi, Karakter, Mantiksal, Faktor olan 5 değişkenli hiçbir gözlemi olmayan bir data.frame oluşturmanızı ve bu data.framenin yapısını yazdırmanızı bekliyorum. Beklenen çıktı aşağıdaki gibi olmalıdır.
## [1] "Bos data.framenin yapısı:"
## 'data.frame': 0 obs. of 5 variables:
## $ TamSayi : int
## $ OndalikSayi: num
## $ Karakter : chr
## $ Mantiksal : logi
## $ Faktor : Factor w/ 0 levels:
## NULL
2: Aşağıda size verilen dört vektörden bir veri seti oluşturunuz. Oluşturduğunuz veri setinin deneme sütunundaki eksik veri sayısını hesaplayan komut yazınız.
ad = c('Su', 'Pera', 'Sule', 'Can', 'Cem', 'Name', 'Aras', 'Mete', 'Kaan', 'Pelin')
puan = c(12.5, 9, 16.5, 12, 9, 20, 14.5, 13.5, 8, 19)
deneme = c(1, NA, 2, NA, 2, NA, 1, NA, 2, 1)
bonus = c(1,0,1, 0, 0, 1, 1, 0,0, 1)## [1] "Veri Seti:"
## ad puan deneme bonus
## 1 Su 12.5 1 1
## 2 Pera 9.0 NA 0
## 3 Sule 16.5 2 1
## 4 Can 12.0 NA 0
## 5 Cem 9.0 2 0
## 6 Name 20.0 NA 1
## 7 Aras 14.5 1 1
## 8 Mete 13.5 NA 0
## 9 Kaan 8.0 2 0
## 10 Pelin 19.0 1 1
## [1] "Deneme sütunundaki NA sayisi:"
## [1] 4
Atar, B., Atalay Kabasakal, K, Ünsal Özberk, E. B., Özberk, E. H. Ve Kıbrıslıoğlu Uysal, N. (2020). R ile Veri Analizi ve Psikometri Uygulamaları, Editör, Pegem Akademi, Ankara.
Lutfen asagidaki bolumleri haftaya kadar okuyunuz.
Veri duzenleme konusunda iki paket: DataEditR , editData inceleyiniz.