Bu yazımda, 1 Ekim 2024 tarihinde işlenen R ile veri analizi
dersindeki;
1. R paketleri ve yükleme süreci
2. Yaygın Hatalar ve Çözümler
3. Alıntılar
başlıklarının kısa özetleri ile bu başlıklar üzerine düşüncelerimi
paylaşacağım. Ayrıca, bu süreçte kullandığımız kodlarla birlikte
deneyimlerimi aktaracağım.
R dilinin veri işleme ve istatistiksel analiz gibi pek çok işlev sunan bir programlama dili olduğunu ve temel işlevlerinin yanı sıra ek paketler ile piyasadaki bir çok programın yapamayacağı analizleri bile gerçekleştirebileceğini öğrendim. Bir paketi kullanabilmek için önce onu yüklememiz, ardından R oturumunda etkinleştirmemiz gerektiğini fark ettim. Bu işlemleri gerçekleştireceğimiz fonksiyonların
install.packages()
ve
library()
olduğunu öğrendim.
R’ı ilk kez yüklediğimizde, bazı temel paketler (Base R) ile beraber geldiğini, ancak daha karmaşık analizler için ek paketlere ihtiyaç duyduğumuzu fark ettim. Örneğin CTT paketini yüklemek ve aktif etmek için öncelikle;
install.packages("CTT")
komutunu kullanmalı, ardından,
library("CTT")
komutuyla etkinleştirmemiz gerektiğini fark ettim.
length(fonksiyonlar)
yazdığımızda 1407 adet fonksiyonun listelendiğini gördüm. Köşeli parantez kullanılarak yazılan;
fonksiyonlar[220:230]
koduyla 1407 fonksiyon arasından 220-230 arasındaki tüm fonksiyonları listeleyebileceğimi gördüm.
install.packages("tidyverse")
library(tidyverse)
kodunu kullanarak veri analizi için sıkça kullanılan tidyverse
paketini yükleyip etkinleştirebileceğimi öğrendim. R’da bir paketi
yalnızca bir kez yüklememiz yeterlidir. Ancak her oturumda kullanabilmek
için mutlaka etkinleştirmemiz gerekmektedir.
NOT: Bazen paket yükleme sonrası alışılagelmişin dışında,
farklı renklerde yazıların çıkabileceğini, her farklı gelenin hata
olarak algılanmaması gerektiğini, yazılanları okumak ve anlamaya
çalışmak gerektiğini fark ettim.
Bazı R paketlerinin github üzerinden yayınlandığını ve standart yolla
yüklenmediğini fark ettim. Ayrıca bu paketleri yükleyebilmek için
öncelikle devtools paketinin yüklü olması
gerekmektedir. Bu paketler sayesinde yapısal eşitlik modelleri ile
ilgili APA formatında tablolar bile üretilebileceğini fark ettim.
Örneğin;
yapısal eşitlik
modellemesi için kullanılabilecek modeloutput paketini
yazıya tıklayıp indirebiliriz. “yapısal eşitlik modellemesi”
yazısına tıkladığımızda bizi github sayfasına yönlendirir.
Ayrıca, paketin yüklenmesi için örnek kod;
devtools::install_github("dr-JT/semoutput")
R paketlerini yüklerken bazı sık görülen hatalarla karşılaşabileceğimi öğrendim. Bu tür yaygın hatalar ile karşılaştığımda ilk bakabileceğim durumlar şunlar olacaktır.
a) R sürümünün güncel olmaması, paketlerin bağımlı olduğu diğer
paketlerin güncel olmaması gibi durumlar hata mesajlarına yol
açabilmektedir.
b) R’ın düzenli olarak en son sürümüne güncellenmesi, eski
versiyonların bilgisayardan silinmesi gerekmektedir.
c) R gibi R paketlerinin de güncellemelerinin kontrol edilmesi ve
güncel tutulması önemlidir
d) Önbelleğin temizlenmesi R’ın düzgün çalışması için yapılması
gerekenlerdendir. Bunu yapmak için;
install.packages("your_package", clean = TRUE)
kodu kullanılabilir
e) Büyük ya da çok sayıda bağımlı olduğu paket olan paketlerin uzun
süren yüklemelerini hızlandırabilmek içi;
install.packages("your_package", Ncpus = parallel::detectCores() - 1)
kodu kullanılabilir
R’de aynı isme sahip fonksiyonlar içeren farklı paketler bir arada kullanıldığında çakışmaların meydana gelebileceğini öğrendim. Örneğin, hem dplyr hem de MASS paketleri içinde select() fonksiyonu bulunur. Bu gibi durumlarda, fonksiyonun hangi paketle kullanılacağını açıkça belirtmemiz gerektğini fark ettim. Çakışan paket olduğu durumlarda :: kullanarak sorun olmayacağını öğrendim. Kullanım örneği aşağıdaki gibidir.
#dplyr paketindeki select komutu için;
dplyr::select()
#MASS paketindeki select komutu için ise;
MASS::select()
Kısaca, paket çakışmasını çözmek için package::function yapısını kullanabileceğimi, bu sayede, hangi fonksiyonun hangi paketten çağrıldığını R’a bildirmiş olacağımızı öğrendim.
R paketlerinin yanı sıra, R ve RStudio sürümlerinin de zamanla
güncellendiğini, bu güncellemelerin paketlere yeni özellikler
kazandırdığını ve güncelleme ile birçok hatanın düzeltilmesinin
sağlanabileceğini öğrendim.
Güncelleme yapılırken eski paketlerin üzerine yanlışlıkla yazılmasını
engellemek için install.packages() komutunu yalnızca
gerektiğinde çalıştırmak gerektiği oldukça önemlidir.
Paketleri güncellemek için kullanılabilecek kod;
update.packages()
NOT: Paketlerin güncel sürümleri ile çalışmak, analizlerin doğru sonuçlar vermesi açısından önemlidir.
R, açık kaynak bir yazılımdır ve bilimsel raporlarda R ve kullandığımız paketlere alıntı yapmamız gereklidir. R sürümü ve kullanılan paketlerin alıntıları için;
citation()
fonksiyonu kullanılabilir.
tidyverse paketi için alıntı
citation("tidyverse")
RStudio sürümüne ait alıntı
RStudio.Vesion()
Etik açıdan bu alıntıları göstermek çok önemlidir. Ayrıca RMarkdown
ile atıf vermenin oldukça kolay olduğunu öğrendim ancak henüz
deneyimlemedim.
Sonuç olarak, R paketleri veri analizi süreçlerinde büyük kolaylık
sağlar. Paket yükleme ve etkinleştirme süreçlerini öğrenmek, hata
mesajlarını analiz edebilmek ve paket çakışmalarını çözmek bu süreçte
karşılaşılan önemli adımlardır. Ayrıca, bilimsel çalışmalarda R ve
paketlerine doğru şekilde atıf yapmayı öğrenmek, açık kaynak topluluğuna
katkı sağlamamız açısından önemlidir.
install.packages("data.table")
library(data.table)
library(foreign)
#foreign paketi packages sekmesinden yüklendi
#library(foreign) komutuyla aktifleştirildi.
getwd()
## [1] "C:/Users/Lenovo/Desktop/R"
setwd("C:\Users\Lenovo\Desktop\R_giris")
set.seed(1000)
rnorm(100,5,10)
## [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
s<-rnorm(100,5,10)
s
## [1] -8.69412215 6.63016839 3.86773824 13.59755286 6.28665461
## [6] 6.92971247 8.89657184 -17.27541815 15.26734741 17.03450635
## [11] 12.50493033 2.10680616 2.72536076 3.69553415 23.14587591
## [16] 0.05984604 7.87679316 -9.95697096 21.22407119 7.36420673
## [21] 10.69163826 1.77764857 9.58237628 15.67853238 8.24487586
## [26] -1.72156277 -3.33657317 -8.33842483 7.23205492 -1.75618781
## [31] -0.10796484 12.94888904 15.39261305 6.80999677 4.92689215
## [36] -0.13714128 16.19292302 -9.83866981 -8.90726274 5.96884354
## [41] 7.57317944 9.91551992 -3.13337515 13.97149909 -6.82632671
## [46] 1.46875028 17.23271425 22.02865417 5.33334321 12.11190971
## [51] -4.52468528 12.97390477 6.01081797 18.36414127 4.71187204
## [56] -13.21022203 -4.98549257 8.10164259 6.31071044 -5.78914186
## [61] 6.85911480 14.24195234 24.96543008 2.02076672 0.69040161
## [66] 1.94080149 9.08446672 9.64037508 -1.25418094 5.03103026
## [71] 8.61749811 -2.66652943 3.22583946 -3.16866597 -8.00500167
## [76] -6.98805664 24.04816708 17.23177961 7.31788802 3.13356072
## [81] 21.84013290 15.27014374 19.96261664 16.12340422 10.01794686
## [86] 5.48470660 -0.19874015 13.22582472 16.02283340 1.08824000
## [91] 1.38405036 -6.61967978 -2.11416377 8.48970916 9.27366448
## [96] 21.60847068 10.81613456 6.43465503 8.43303079 -4.31491222
#a)
mean(s)
## [1] 6.004248
sd(s)
## [1] 9.033927
#b)
hist(s)
KİTAP 1. BÖLÜM SORULARI
TAMAMLANMIŞTIR
Ders dışı alıştırmalar yapıldı
Datacamp atanan bölüm alıştırmaları tamamlandı.
swirl package learn R in R paketi yüklendi, alıştırma
yapıldı.
Referens kart sayfasının çıktısı alındı