R Paket Yükleme ve Fonksiyonlara Giriş

Bu derste R’a paket yüklemeyi öğrendik. Kod yazarak ya da menü yardımıyla paket indirebiliyoruz. Burada herhangi bir paketi “install.packages” ile yükledikten sonra bu satırı yorum satırına çevirmek gerektiği unutulmamalıdır. Ayrıca bir paketi sadece bir kere indirmemiz yeterli olurken R’yi her açtığımızda kullanmak istediğimiz paketleri “library” fonksiyonu ile etkinleştirmemiz gerekmektedir. Github paketlerini yüklemeyi de bu derste öğrendik. Derste yaptığımız bazı örnekleri inceleyelim.

# paket yukleme
#install.packages("CTT")
#instalı yoruma çevirmeyi unutma!
# paket aktive etme
library(CTT)

#Github Paketi Yükleme
#devtools::install_github("hadley/emo")
library(emo)
emo::ji("smile")
## 😄

R’da temel ve diğer paketlerde yer alan fonksiyonların işlevleri görmek için yardım sayfalarını inceleyebiliriz. ? ve help() fonksiyonları aynı işleve sahiptir.

#?cohen.d
#help(cohen.d)

Aşağıda reliability fonksiyonunun yardım sayfasında örnek ile yaptığımız bazı çalışmaları görebilirsiniz.

# Scored input (data frame is preferred)
x<-data.frame(matrix(c(0,0,0,0,0,
                       0,0,0,0,0,
                       0,0,0,0,1,
                       0,0,0,1,1,
                       0,0,1,1,1,
                       0,1,1,1,1,
                       1,1,1,1,1,
                       1,0,1,1,1,
                       0,0,0,1,1,
                       0,1,1,1,1),nrow=10,ncol=5,byrow=TRUE,
                     dimnames=list(c(paste("P",c(1:10),sep="")),c(paste("I",c(1:5),sep="")))))
itemAnalysis(x)
## 
##  Number of Items 
##  5 
## 
##  Number of Examinees 
##  10 
## 
##  Coefficient Alpha 
##  0.816
# To see an item report with flags.
iA <- itemAnalysis(x, hardFlag=.25, pBisFlag=.15)
iA$itemReport
##   itemName itemMean      pBis       bis alphaIfDeleted hard lowPBis
## 1       I1      0.2 0.4036037 0.5766551      0.8325792    X        
## 2       I2      0.3 0.5299577 0.6984823      0.8027211             
## 3       I3      0.5 0.7905694 0.9908318      0.7166667             
## 4       I4      0.7 0.7237469 0.9538957      0.7424242             
## 5       I5      0.8 0.5995438 0.8566076      0.7827529
# To see more item statisitics
str(itemAnalysis(x))
## List of 6
##  $ nItem     : int 5
##  $ nPerson   : int 10
##  $ alpha     : num 0.816
##  $ scaleMean : num 2.5
##  $ scaleSD   : num 1.78
##  $ itemReport:'data.frame':  5 obs. of  5 variables:
##   ..$ itemName      : chr [1:5] "I1" "I2" "I3" "I4" ...
##   ..$ itemMean      : num [1:5] 0.2 0.3 0.5 0.7 0.8
##   ..$ pBis          : num [1:5] 0.404 0.53 0.791 0.724 0.6
##   ..$ bis           : num [1:5] 0.577 0.698 0.991 0.954 0.857
##   ..$ alphaIfDeleted: num [1:5] 0.833 0.803 0.717 0.742 0.783
##  - attr(*, "class")= chr "itemAnalysis"
# Scored input (data frame is preferred)
x<-data.frame(matrix(c(0,0,0,0,0,
                       0,0,0,0,0,
                       0,0,0,0,1,
                       0,0,0,1,1,
                       0,0,1,1,1,
                       0,1,1,1,1,
                       1,1,1,1,1,
                       1,0,1,1,1,
                       0,0,0,1,1,
                       0,1,1,1,1),nrow=10,ncol=5,byrow=TRUE,
                     dimnames=list(c(paste("P",c(1:10),sep="")),c(paste("I",c(1:5),sep="")))))
reliability(x, itemal=TRUE)
## You will find additional options and better formatting using itemAnalysis().
## 
##  Number of Items 
##  5 
## 
##  Number of Examinees 
##  10 
## 
##  Coefficient Alpha 
##  0.816
# To see more item statisitics
str(reliability(x,itemal=TRUE))
## You will find additional options and better formatting using itemAnalysis().
## List of 9
##  $ nItem         : int 5
##  $ nPerson       : int 10
##  $ alpha         : num 0.816
##  $ scaleMean     : num 2.5
##  $ scaleSD       : num 1.78
##  $ alphaIfDeleted: num [1:5(1d)] 0.833 0.803 0.717 0.742 0.783
##  $ pBis          : num [1:5(1d)] 0.404 0.53 0.791 0.724 0.6
##  $ bis           : num [1:5(1d)] 0.695 0.772 0.992 0.991 0.993
##  $ itemMean      : Named num [1:5] 0.2 0.3 0.5 0.7 0.8
##   ..- attr(*, "names")= chr [1:5] "I1" "I2" "I3" "I4" ...
##  - attr(*, "class")= chr "reliability"
guvenirlik <- reliability(x, itemal=TRUE)
## You will find additional options and better formatting using itemAnalysis().
guvenirlik$nItem
## [1] 5

Farklı paketlerin aynı isimli fonksiyonlara sahip olduğu durumlarda paket çakışması yaşanmaktadır. Bu durumda “package::function” kodu ile hangi paketteki fonksiyonu kullanmayı tercih ettiğimizi belirtmemiz gerekmektedir. Örneğin;

#pysch ::reliability()
#CTT :: reliability()

R’da alıntı yapmak bu haftaki dersin konu başlıklarından biriydi. Bunun için “citatiion()” kodunu kullanmamız gerektiğini ayrıca Rmarkdown’ın citation aracı ile bunun çok pratik bir şekilde yapılabileceğini de öğrendik. Derste yaptığımız örneği inceleyelim.

citation("tidyverse")
## To cite package 'tidyverse' in publications use:
## 
##   Wickham H, Averick M, Bryan J, Chang W, McGowan LD, François R,
##   Grolemund G, Hayes A, Henry L, Hester J, Kuhn M, Pedersen TL, Miller
##   E, Bache SM, Müller K, Ooms J, Robinson D, Seidel DP, Spinu V,
##   Takahashi K, Vaughan D, Wilke C, Woo K, Yutani H (2019). "Welcome to
##   the tidyverse." _Journal of Open Source Software_, *4*(43), 1686.
##   doi:10.21105/joss.01686 <https://doi.org/10.21105/joss.01686>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Article{,
##     title = {Welcome to the {tidyverse}},
##     author = {Hadley Wickham and Mara Averick and Jennifer Bryan and Winston Chang and Lucy D'Agostino McGowan and Romain François and Garrett Grolemund and Alex Hayes and Lionel Henry and Jim Hester and Max Kuhn and Thomas Lin Pedersen and Evan Miller and Stephan Milton Bache and Kirill Müller and Jeroen Ooms and David Robinson and Dana Paige Seidel and Vitalie Spinu and Kohske Takahashi and Davis Vaughan and Claus Wilke and Kara Woo and Hiroaki Yutani},
##     year = {2019},
##     journal = {Journal of Open Source Software},
##     volume = {4},
##     number = {43},
##     pages = {1686},
##     doi = {10.21105/joss.01686},
##   }

Fonksiyonlara Giriş

Fonksiyon belli bir görevi yerine getirmek için yazılan bir grup komut olduğunu ve çalışması için girdilerinin olması gerektiğini öğrendik. Fonksiyonlar girdileriyle işlem yapıp çıktıları oluşturmaktadır. Fonksiyonlar girdileri o fonksiyonun çalışması için önceden belirlenen argümanlar ve o argümanların değerlerinden oluşur.

Fonksiyonların kullanımında üç noktaya dikkat edilmesi gerektiğini öğrendik. 1-argümanların sırası 2-argümanların olağan (default) değerleri 3-bazı argümanların zorunlu, bazı argümanların opsiyonel olmasıdır.

Derste örnek olarak normal dağılıma sahip bir sayı kümesini rastgele üreten rnorm() fonksiyonunun yardım belgelerine bakıldı ve ardından bu fonksiyon üzerinde örnekler yapıldı.

?rnorm
#Argümanlar bölümünde, her bir argüman için açıklamalar bulunmaktadır. n oluşturmak istediğimiz gözlem sayısı, mean oluşturacağımız veri noktalarının ortalaması ve sd verinin standart sapmasıdır. Ayrıntılar bölümünde, mean ve sd için herhangi bir değer girilmezse, bu değerler için varsayılan olarak 0 ve 1 kullanılacağı belirtilir. n için varsayılan bir değer olmadığından, belirtilmesi gerekir, aksi takdirde kod çalışmaz.
rnorm(10, mean=0, sd=1)
##  [1] -0.05308144  0.04003471  0.62913231  0.26515244 -1.21328865  0.63961699
##  [7]  0.44384068 -0.95485042  2.57814385  0.37189412
#Yukarıdaki örnekte bağımsız değişken adlarını yazdık (örneğin, n, mean, sd), ancak bu zorunlu değil. Aşağıdaki iki kod satırının her ikisi de aynı sonucu üretecektir (rnorm() fonksiyonunu her çalıştırdığınızda rastgele olduğu için biraz farklı bir sayı kümesi üretecektir, ancak yine de aynı ortalama ve SD’ye sahip olacaklardır):
rnorm(n = 6, mean = 3, sd = 1)
## [1] 4.349047 2.130440 4.382252 4.594854 2.421951 3.291187
rnorm(6, 3, 1)
## [1] 2.048366 2.743950 3.612180 3.914581 2.300817 2.217813
#set.seed fonksiyonu rastgele sayı üretecini kontrol eder - rastgele sayı üreten herhangi bir fonksiyon kullanıyorsanız (rnorm() gibi), set.seed() fonksiyonunu çalıştırmak aynı sonucu almanızı sağlayacaktır.
set.seed(50)
rnorm(50, mean=10, sd=5)
##  [1] 12.748349  5.791981 10.164990 12.620749  1.361979  8.610677 11.804142
##  [8]  7.045438 14.877953  2.771250 11.476034 12.773761  7.506822 10.978669
## [15]  7.722297  8.185723  9.215933  6.173743  4.169913  8.382872  8.250363
## [22]  7.065514  2.050612 18.447798 12.817918 23.338167 11.782675  8.189398
## [29] 12.843732 10.143373 10.995117  5.742889  4.347753 12.986245  4.519761
## [36] 10.095483 12.080995 19.198378 12.030933 11.966109 10.547782  7.932906
## [43] 10.558980 -4.461607 10.476747 12.499449 14.746861  1.707995  2.591902
## [50]  7.546569
set.seed(50)
rnorm(50, 10,5)
##  [1] 12.748349  5.791981 10.164990 12.620749  1.361979  8.610677 11.804142
##  [8]  7.045438 14.877953  2.771250 11.476034 12.773761  7.506822 10.978669
## [15]  7.722297  8.185723  9.215933  6.173743  4.169913  8.382872  8.250363
## [22]  7.065514  2.050612 18.447798 12.817918 23.338167 11.782675  8.189398
## [29] 12.843732 10.143373 10.995117  5.742889  4.347753 12.986245  4.519761
## [36] 10.095483 12.080995 19.198378 12.030933 11.966109 10.547782  7.932906
## [43] 10.558980 -4.461607 10.476747 12.499449 14.746861  1.707995  2.591902
## [50]  7.546569
set.seed(50)
rnorm(mean=10, sd= 5, n= 50)
##  [1] 12.748349  5.791981 10.164990 12.620749  1.361979  8.610677 11.804142
##  [8]  7.045438 14.877953  2.771250 11.476034 12.773761  7.506822 10.978669
## [15]  7.722297  8.185723  9.215933  6.173743  4.169913  8.382872  8.250363
## [22]  7.065514  2.050612 18.447798 12.817918 23.338167 11.782675  8.189398
## [29] 12.843732 10.143373 10.995117  5.742889  4.347753 12.986245  4.519761
## [36] 10.095483 12.080995 19.198378 12.030933 11.966109 10.547782  7.932906
## [43] 10.558980 -4.461607 10.476747 12.499449 14.746861  1.707995  2.591902
## [50]  7.546569

Kişisel Tanımlı Fonksiyon

Kişisel tanımlı fonksiyon yazılması şablonu ile bu konuda derste yaptığımız örnekler aşağıdaki gibidir.

kare_al <- function(sayi){
  sayi * sayi
}
kare_al(sayi = 3)
## [1] 9
ust_al <- function(sayi, us){
  sayi ^ us
}
ust_al(3, 2)
## [1] 9
ust_al <- function(sayi, us = 2){
  sayi ^ us
}
ust_al(3)
## [1] 9
ust_al(9, 3)
## [1] 729
dkdrtgn_oz <- function(en = 5, boy = 10) {
  alan <- en * boy 
  cevre <- 2 * en + 2 * boy  # (en + boy) * 2
  ksgn <- sqrt(en^2 + boy^2)
  cikti <- c(alan, cevre, ksgn)
  names(cikti) <- c("alan", "cevre", "ksgn")
  cikti
}
dkdrtgn_oz(en = 5, boy = 10)
##     alan    cevre     ksgn 
## 50.00000 30.00000 11.18034
# Fonksiyon sonucunu doğrudan kullanın
cikti1 <- dkdrtgn_oz(en = 5, boy = 10)
cikti1["alan"]
## alan 
##   50
myfunc <- function(x, y) {
  a <- x + y
  b <- x * y
  return(a * b)
}
myfunc(3, 4)
## [1] 84
avg <- function(n){
  (n*(n+1)/2)
  }
avg(1:1000)
##    [1]      1      3      6     10     15     21     28     36     45     55
##   [11]     66     78     91    105    120    136    153    171    190    210
##   [21]    231    253    276    300    325    351    378    406    435    465
##   [31]    496    528    561    595    630    666    703    741    780    820
##   [41]    861    903    946    990   1035   1081   1128   1176   1225   1275
##   [51]   1326   1378   1431   1485   1540   1596   1653   1711   1770   1830
##   [61]   1891   1953   2016   2080   2145   2211   2278   2346   2415   2485
##   [71]   2556   2628   2701   2775   2850   2926   3003   3081   3160   3240
##   [81]   3321   3403   3486   3570   3655   3741   3828   3916   4005   4095
##   [91]   4186   4278   4371   4465   4560   4656   4753   4851   4950   5050
##  [101]   5151   5253   5356   5460   5565   5671   5778   5886   5995   6105
##  [111]   6216   6328   6441   6555   6670   6786   6903   7021   7140   7260
##  [121]   7381   7503   7626   7750   7875   8001   8128   8256   8385   8515
##  [131]   8646   8778   8911   9045   9180   9316   9453   9591   9730   9870
##  [141]  10011  10153  10296  10440  10585  10731  10878  11026  11175  11325
##  [151]  11476  11628  11781  11935  12090  12246  12403  12561  12720  12880
##  [161]  13041  13203  13366  13530  13695  13861  14028  14196  14365  14535
##  [171]  14706  14878  15051  15225  15400  15576  15753  15931  16110  16290
##  [181]  16471  16653  16836  17020  17205  17391  17578  17766  17955  18145
##  [191]  18336  18528  18721  18915  19110  19306  19503  19701  19900  20100
##  [201]  20301  20503  20706  20910  21115  21321  21528  21736  21945  22155
##  [211]  22366  22578  22791  23005  23220  23436  23653  23871  24090  24310
##  [221]  24531  24753  24976  25200  25425  25651  25878  26106  26335  26565
##  [231]  26796  27028  27261  27495  27730  27966  28203  28441  28680  28920
##  [241]  29161  29403  29646  29890  30135  30381  30628  30876  31125  31375
##  [251]  31626  31878  32131  32385  32640  32896  33153  33411  33670  33930
##  [261]  34191  34453  34716  34980  35245  35511  35778  36046  36315  36585
##  [271]  36856  37128  37401  37675  37950  38226  38503  38781  39060  39340
##  [281]  39621  39903  40186  40470  40755  41041  41328  41616  41905  42195
##  [291]  42486  42778  43071  43365  43660  43956  44253  44551  44850  45150
##  [301]  45451  45753  46056  46360  46665  46971  47278  47586  47895  48205
##  [311]  48516  48828  49141  49455  49770  50086  50403  50721  51040  51360
##  [321]  51681  52003  52326  52650  52975  53301  53628  53956  54285  54615
##  [331]  54946  55278  55611  55945  56280  56616  56953  57291  57630  57970
##  [341]  58311  58653  58996  59340  59685  60031  60378  60726  61075  61425
##  [351]  61776  62128  62481  62835  63190  63546  63903  64261  64620  64980
##  [361]  65341  65703  66066  66430  66795  67161  67528  67896  68265  68635
##  [371]  69006  69378  69751  70125  70500  70876  71253  71631  72010  72390
##  [381]  72771  73153  73536  73920  74305  74691  75078  75466  75855  76245
##  [391]  76636  77028  77421  77815  78210  78606  79003  79401  79800  80200
##  [401]  80601  81003  81406  81810  82215  82621  83028  83436  83845  84255
##  [411]  84666  85078  85491  85905  86320  86736  87153  87571  87990  88410
##  [421]  88831  89253  89676  90100  90525  90951  91378  91806  92235  92665
##  [431]  93096  93528  93961  94395  94830  95266  95703  96141  96580  97020
##  [441]  97461  97903  98346  98790  99235  99681 100128 100576 101025 101475
##  [451] 101926 102378 102831 103285 103740 104196 104653 105111 105570 106030
##  [461] 106491 106953 107416 107880 108345 108811 109278 109746 110215 110685
##  [471] 111156 111628 112101 112575 113050 113526 114003 114481 114960 115440
##  [481] 115921 116403 116886 117370 117855 118341 118828 119316 119805 120295
##  [491] 120786 121278 121771 122265 122760 123256 123753 124251 124750 125250
##  [501] 125751 126253 126756 127260 127765 128271 128778 129286 129795 130305
##  [511] 130816 131328 131841 132355 132870 133386 133903 134421 134940 135460
##  [521] 135981 136503 137026 137550 138075 138601 139128 139656 140185 140715
##  [531] 141246 141778 142311 142845 143380 143916 144453 144991 145530 146070
##  [541] 146611 147153 147696 148240 148785 149331 149878 150426 150975 151525
##  [551] 152076 152628 153181 153735 154290 154846 155403 155961 156520 157080
##  [561] 157641 158203 158766 159330 159895 160461 161028 161596 162165 162735
##  [571] 163306 163878 164451 165025 165600 166176 166753 167331 167910 168490
##  [581] 169071 169653 170236 170820 171405 171991 172578 173166 173755 174345
##  [591] 174936 175528 176121 176715 177310 177906 178503 179101 179700 180300
##  [601] 180901 181503 182106 182710 183315 183921 184528 185136 185745 186355
##  [611] 186966 187578 188191 188805 189420 190036 190653 191271 191890 192510
##  [621] 193131 193753 194376 195000 195625 196251 196878 197506 198135 198765
##  [631] 199396 200028 200661 201295 201930 202566 203203 203841 204480 205120
##  [641] 205761 206403 207046 207690 208335 208981 209628 210276 210925 211575
##  [651] 212226 212878 213531 214185 214840 215496 216153 216811 217470 218130
##  [661] 218791 219453 220116 220780 221445 222111 222778 223446 224115 224785
##  [671] 225456 226128 226801 227475 228150 228826 229503 230181 230860 231540
##  [681] 232221 232903 233586 234270 234955 235641 236328 237016 237705 238395
##  [691] 239086 239778 240471 241165 241860 242556 243253 243951 244650 245350
##  [701] 246051 246753 247456 248160 248865 249571 250278 250986 251695 252405
##  [711] 253116 253828 254541 255255 255970 256686 257403 258121 258840 259560
##  [721] 260281 261003 261726 262450 263175 263901 264628 265356 266085 266815
##  [731] 267546 268278 269011 269745 270480 271216 271953 272691 273430 274170
##  [741] 274911 275653 276396 277140 277885 278631 279378 280126 280875 281625
##  [751] 282376 283128 283881 284635 285390 286146 286903 287661 288420 289180
##  [761] 289941 290703 291466 292230 292995 293761 294528 295296 296065 296835
##  [771] 297606 298378 299151 299925 300700 301476 302253 303031 303810 304590
##  [781] 305371 306153 306936 307720 308505 309291 310078 310866 311655 312445
##  [791] 313236 314028 314821 315615 316410 317206 318003 318801 319600 320400
##  [801] 321201 322003 322806 323610 324415 325221 326028 326836 327645 328455
##  [811] 329266 330078 330891 331705 332520 333336 334153 334971 335790 336610
##  [821] 337431 338253 339076 339900 340725 341551 342378 343206 344035 344865
##  [831] 345696 346528 347361 348195 349030 349866 350703 351541 352380 353220
##  [841] 354061 354903 355746 356590 357435 358281 359128 359976 360825 361675
##  [851] 362526 363378 364231 365085 365940 366796 367653 368511 369370 370230
##  [861] 371091 371953 372816 373680 374545 375411 376278 377146 378015 378885
##  [871] 379756 380628 381501 382375 383250 384126 385003 385881 386760 387640
##  [881] 388521 389403 390286 391170 392055 392941 393828 394716 395605 396495
##  [891] 397386 398278 399171 400065 400960 401856 402753 403651 404550 405450
##  [901] 406351 407253 408156 409060 409965 410871 411778 412686 413595 414505
##  [911] 415416 416328 417241 418155 419070 419986 420903 421821 422740 423660
##  [921] 424581 425503 426426 427350 428275 429201 430128 431056 431985 432915
##  [931] 433846 434778 435711 436645 437580 438516 439453 440391 441330 442270
##  [941] 443211 444153 445096 446040 446985 447931 448878 449826 450775 451725
##  [951] 452676 453628 454581 455535 456490 457446 458403 459361 460320 461280
##  [961] 462241 463203 464166 465130 466095 467061 468028 468996 469965 470935
##  [971] 471906 472878 473851 474825 475800 476776 477753 478731 479710 480690
##  [981] 481671 482653 483636 484620 485605 486591 487578 488566 489555 490545
##  [991] 491536 492528 493521 494515 495510 496506 497503 498501 499500 500500
x <- 1:1000
avg <- function(x){
  sum(x)/length(x)
  return(sum(x)/length(x))
}
avg(x)
## [1] 500.5
x <- 1:1000
avg <- function(sayilar){
  sum(sayilar)/length(sayilar)
}
avg(1:1000)
## [1] 500.5
sample (1:1000, 10)
##  [1] 386 766 471 527 592 235 666 346 800 611
identical(avg(x),mean(x))
## [1] TRUE

R Çalışma Alanı

Çalışma alanı, nesnelerin ve bilgilerin kaydedildiği alandır. ls() ve objects() fonksiyonları çalışma alanında kayıtlı nesneleri konsolda göstermektedir. ls() fonksiyonu ile nesneleri çağırma işlemi özelleştirilebilir. ls.str() fonksiyonu ise hafızadaki nesneleri ayrıntıları ile göstermektedir.Yeni bir veri seti üzerinde çalışıyorsanız veya son sürümü elde etmeden önce çok sayıda farklı kod denediyseniz, yanlış nesneyi kullanmaktan kaçınmak için ortamı/çalışma alanını temizlemeyi unutmamak iyi bir uygulamadır. Bunu birkaç şekilde yapabilirsiniz. 1-Nesneleri tek tek kaldırmak için konsola rm(nesne_adı) yazılabilir 2-Ortamdaki tüm nesneleri temizlemek için konsolda rm(list = ls()) komutu çalıştırılabilir. 3-Ortamdaki tüm nesneleri temizlemek için ortam bölmesindeki süpürge simgesine de tıklanabilir.

ls()
## [1] "avg"        "cikti1"     "dkdrtgn_oz" "guvenirlik" "iA"        
## [6] "kare_al"    "myfunc"     "ust_al"     "x"
rm(list=ls())

R Çalışma Dizini

Çalışma dizinini sorgulamak için kullanılacak olan fonksiyon “getwd() (get working directory)” Çalışma dizinini değiştirmek için kullanılacak olan fonksiyon “setwd() (set working directory)”

#Çalışma alanı kaydı için save.image("dosyaadi") komutunu kullanabiliriz.
save.image("Ders 2.R")

ÖDEV

1- Kitaptan Bölüm 1’deki alıştırmalar ödev olarak verildi. Aşağıda bölüm 1 sonundaki alıştırmaların yanıtlarını görebilirsiniz.

#topla
8+12
## [1] 20
#üs al 
üs_al<-  function(x,us){
  return(x^us)
}
üs_al(8,2)
## [1] 64
#işlem
(5+5)/2
## [1] 5
#karekök alma
sayi <- 36
kok <- sqrt(sayi)
kok
## [1] 6
# daire alanı hesapla
#yaricaplar için değer atama
r1 <- 5
r2 <- 10
r3 <- 15
#pi sayısını tanımlama zaten tanımlı
pi
## [1] 3.141593
#alan hesaplama formülü ve ardından herbirini farklı nesneye atama 
alan1 <- pi* r1^2
alan2 <- pi* r2^2
alan3 <- pi* r3^2

#mantıksal operatörler kullanıp karşılaştırma 
alan1 > alan2
## [1] FALSE
alan2 > alan3
## [1] FALSE
alan1 == alan3
## [1] FALSE
ls()
## [1] "alan1" "alan2" "alan3" "kok"   "r1"    "r2"    "r3"    "sayi"  "üs_al"
rm (list= ls())
# üçüncü alıştırma
X <- 56
u <- 50
t1 <- 4
t2 <- 8
t3 <- 16
t4 <- 32
z1 <- (X-u)/t1
z2 <- (X-u)/t2
z3 <- (X-u)/t3
z4 <- (X-u)/t4

#install.packages("data.table")
library(data.table)
library (foreign)


getwd()
## [1] "/Users/esmanurbaselkocak/Desktop/OLC731_R"
setwd("~/Desktop/R_Girls")

set.seed(1000)
veri <- rnorm(100, mean=5, sd=10)
veri
##   [1]   0.54221735  -7.05856569   5.41126314  11.39388408  -2.86554356
##   [6]   1.14510702   0.24132116  12.19750691   4.81494377  -8.73117759
##  [11]  -4.82427828  -0.54488702   6.21381189   3.79127684  -8.36041049
##  [16]   6.70057481   6.55078716   5.24931867 -15.46585414   7.13154106
##  [21]  31.70071664  -7.27016006  13.34247332  10.32571747  -1.46824963
##  [26]  11.03161261 -12.83844136   8.34942167  10.60975722  17.20935655
##  [31]   2.88546412  11.99429525  -2.06436682   0.34849055 -12.66198610
##  [36]   6.89288596   1.33819324  15.57601178  -2.41621462  -8.48359053
##  [41]  -0.17306432  19.11735702   6.85465028   4.56308557   2.84086625
##  [46]  19.63775346   7.29666637   6.07623634  -8.78102559  -4.68182883
##  [51]   7.51711380  -5.94693697   8.97642845  -4.96302004   6.00578012
##  [56]  14.53680281 -12.90322935   8.11701216  30.53988007  -3.60837756
##  [61]  10.43928442   1.07661964  17.35441898  16.96086439   0.04253099
##  [66]   2.05658779  -0.73497483  21.19208728  -4.56927673   5.41237120
##  [71]  -9.98310443  11.60959156   7.85457621  18.88866294   3.40656395
##  [76]   0.39081097   6.68438071  18.95493023  12.28426261   8.35089949
##  [81]  16.69276492   7.47966825   1.41850528  18.83493324   9.12069167
##  [86]   3.76992138   4.33770688 -18.22490877  -5.45656501  25.57875024
##  [91]  24.71532375 -14.20995197   9.62126070   3.39275936   3.95788468
##  [96]   9.67839401   9.43920815  13.28552808   1.12949878  25.18938163
# a) Dağılımın ortalamasını ve standart sapmasını hesaplama
ortalama <- mean(veri)
standart_sapma <- sd(veri)
hist(veri, main="Veri Dağılımının Histogramı", xlab="Değerler", col="lightblue", border="black")

2- Derste eşkenar üçgenin alanını fonkiyon tanımlayarak bulmamızda istenmişti. Yanıtı aşağıda görebilirsiniz.

 eskenar_ucgen_alani <- function(x) {
   alan_esucgen <- ((x^2) * (sqrt(3)) / 4)  # Alan formülü
   return(alan_esucgen)  # Alanı döndür
}
eskenar_ucgen_alani(3)
## [1] 3.897114

İkinci dersimize öğrendiklerime dair notlarım ve ödev çözümlerim bu şekildeydi. Teşekkürler!

## 💗