1. R:
Tanım: R, istatistiksel hesaplama ve veri analizi için açık kaynaklı bir programlama dilidir.
Özellikler:
Geniş bir istatistiksel ve grafiksel işlevler koleksiyonu sunar.
Çeşitli paketlerle genişletilebilir ve kullanıcılar tarafından geliştirilebilir.
Kullanım Alanları:
Veri analizi, istatistiksel modelleme, grafikler oluşturma.
Bilimsel araştırmalar, akademik çalışmalar, endüstriyel uygulamalar.
2. R Studio:
Tanım: R Studio, R programlama dilini geliştirmek ve çalıştırmak için entegre bir geliştirme ortamıdır.
Özellikler:
Kod yazma, hata ayıklama, paket yönetimi gibi araçlar sunar.
Script dosyaları, çalışma alanları ve grafik pencereleriyle kullanıcı dostu bir arayüz sağlar.
Kullanım Alanları:
Veri analizi projelerinin yönetimi ve yürütülmesi.
R kodunun etkileşimli bir şekilde yazılması ve çalıştırılması.
3. Avantajlar:
R:
Esnek ve güçlü bir analiz aracıdır.
Açık kaynaklı olması, geniş bir kullanıcı topluluğu ve paketlerin sürekli geliştirilmesi anlamına gelir.
R Studio:
Kullanıcı dostu bir arayüz sağlar, R kodunu daha verimli bir şekilde yazmayı ve yönetmeyi sağlar.
Proje tabanlı çalışma ve hızlı hata ayıklama gibi özellikler sunar.
4. Sonuç:
R ve R Studio, veri analizi, istatistiksel modelleme ve programlama alanlarında kullanıcıların ihtiyaçlarını karşılamak için güçlü araçlar sunar.
Kullanıcı dostu arayüz ve genişletilebilirlikleri sayesinde, araştırmacılar, veri bilimcileri ve analistler için vazgeçilmez bir çözüm sunarlar.
R paketleri, R programlama dilinin işlevselliğini genişleten ve çeşitli görevler için hazır fonksiyonlar, veri setleri ve araçlar içeren paketlerdir. Bu paketler, istatistiksel analiz, veri görselleştirme, makine öğrenimi, büyük veri işleme ve daha birçok alanda kullanılabilir. İşte R paketlerini nasıl bulabileceğiniz ve kullanabileceğiniz adımlar:
Paket Bulma ve Yükleme:
install.packages("paket_adi") komutunu
kullanarak bir paketi yükleyebilirsiniz. Örneğin:
install.packages("ggplot2") komutu ggplot2
paketini yükler.Paket Yükleme ve Kütüphaneye Dahil Etme:
library(paket_adi) komutunu kullanarak
kütüphaneye dahil edebilirsiniz. Örneğin:
library(ggplot2) komutu ggplot2 paketini
yükler ve kullanıma hazır hale getirir.Paket Fonksiyonlarını Kullanma:
ggplot() fonksiyonuyla bir çizgi grafiği
oluşturabilirsiniz.1. ggplot2:
Tanım: ggplot2, veri görselleştirmesi için kullanılan bir R paketidir. Grammar of Graphics’in (Grafik Dilbilgisi) prensiplerine dayanır ve veriyi grafikler aracılığıyla etkili bir şekilde iletmeyi sağlar.
Önemi ve Kullanımı: Veri analizi sürecinde, verilerinizi grafiklerle görselleştirmek, veri keşfi yapmanızı ve keşfedilen bilgileri etkili bir şekilde iletmeyi sağlar. ggplot2, esnek bir yapıya sahip olduğu için farklı veri türlerini ve grafik türlerini destekler, böylece çeşitli analiz ihtiyaçlarını karşılar.
Örnek Kod:
# ggplot2 paketini yükle
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
# Örnek veri seti oluştur
veri <- data.frame(
X = 1:10,
Y = rnorm(10)
)
# Basit bir nokta grafiği oluştur
ggplot(veri, aes(x = X, y = Y)) +
geom_point() +
labs(title = "Basit Bir Nokta Grafiği", x = "X Ekseni", y = "Y Ekseni")
2. dplyr:
Tanım: dplyr, R’de veri işleme ve manipülasyonu için kullanılan bir pakettir. Veri setlerini filtreleme, sıralama, toplama ve birleştirme gibi temel veri işleme işlevlerini sağlar.
Önemi ve Kullanımı: Veri analizi sürecinde, veri temizleme, dönüştürme ve özetleme işlemleri veri kalitesini artırır ve analiz sonuçlarını daha güvenilir hale getirir. dplyr, bu işlemleri hızlı ve etkili bir şekilde gerçekleştirmenize olanak tanır, böylece analiz sürecini daha verimli hale getirir.
Örnek kod:
# dplyr paketini yükle
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.2
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Örnek veri seti oluştur
veri <- data.frame(
X = 1:10,
Y = rnorm(10)
)
# Veri setini filtreleme örneği
filtreli_veri <- veri %>%
filter(Y > 0)
# Filtrelenmiş veri setini görüntüle
print(filtreli_veri)
## X Y
## 1 3 0.1909840
## 2 4 1.2448583
## 3 5 1.8819850
## 4 6 2.6914255
## 5 7 0.1651482
## 6 9 0.2097606
## 7 10 1.5569555
3. caret:
Tanım: caret, R’de makine öğrenimi modellerinin eğitimini ve değerlendirmesini kolaylaştıran bir pakettir. Sınıflandırma, regresyon, kümeleme gibi birçok farklı makine öğrenimi algoritmasını destekler.
Önemi ve Kullanımı: Veri analizi sürecinde, veri setlerini modelleme ve tahmin etme yeteneği büyük önem taşır. caret, farklı makine öğrenimi algoritmalarını tek bir arayüz altında birleştirir ve model seçimi, hiperparametre ayarlama gibi işlemleri otomatikleştirir, böylece modelleme sürecini daha verimli ve etkili hale getirir.
Örnek kod:
# caret paketini yükle
library(caret)
## Warning: package 'caret' was built under R version 4.3.2
## Zorunlu paket yükleniyor: lattice
# Örnek veri seti yükle (iris veri seti kullanılacak)
veri <- iris
# Özellikler ve sınıf etiketlerini ayır
ozellikler <- veri[, 1:4]
siniflar <- veri[, 5]
# Karar ağacı modelini eğit
model <- train(ozellikler, siniflar, method = "rpart")
# Model sonuçlarını görüntüle
print(model)
## CART
##
## 150 samples
## 4 predictor
## 3 classes: 'setosa', 'versicolor', 'virginica'
##
## No pre-processing
## Resampling: Bootstrapped (25 reps)
## Summary of sample sizes: 150, 150, 150, 150, 150, 150, ...
## Resampling results across tuning parameters:
##
## cp Accuracy Kappa
## 0.00 0.9430095 0.9134581
## 0.44 0.7725597 0.6690334
## 0.50 0.5123075 0.2937772
##
## Accuracy was used to select the optimal model using the largest value.
## The final value used for the model was cp = 0.
4. tidyr:
Tanım: tidyr, R’de veri setlerini düzenleme ve dönüştürme için kullanılan bir pakettir. Uzun formatlı (long) veya geniş formatlı (wide) veri setlerini dönüştürmek için kullanılır.
Önemi ve Kullanımı: Veri analizi sürecinde, veri setlerini uygun bir formatta düzenlemek analiz sürecini kolaylaştırır. tidyr, veri setlerini yeniden yapılandırmak, eksik veya bozuk veri değerlerini ele almak için kullanılır, böylece veri setlerini analiz için hazır hale getirir.
Örnek kod:
# tidyr paketini yükle
library(tidyr)
## Warning: package 'tidyr' was built under R version 4.3.2
# Örnek veri seti oluştur
veri <- data.frame(
Ogrenci = c("Ali", "Ayşe", "Ahmet"),
Matematik = c(85, 90, NA),
Fen = c(80, NA, 95),
Turkce = c(75, 85, 90)
)
# Veri setini uzun formata dönüştür
uzun_veri <- veri %>%
pivot_longer(-Ogrenci, names_to = "Ders", values_to = "Not")
# Uzun formatlı veri setini görüntüle
print(uzun_veri)
## # A tibble: 9 × 3
## Ogrenci Ders Not
## <chr> <chr> <dbl>
## 1 Ali Matematik 85
## 2 Ali Fen 80
## 3 Ali Turkce 75
## 4 Ayşe Matematik 90
## 5 Ayşe Fen NA
## 6 Ayşe Turkce 85
## 7 Ahmet Matematik NA
## 8 Ahmet Fen 95
## 9 Ahmet Turkce 90
5. shiny:
Tanım: shiny, R’de interaktif web uygulamaları oluşturmak için kullanılan bir pakettir. R kodunu web uygulamalarına dönüştürmek ve veri analizi sonuçlarını interaktif olarak paylaşmak için kullanılır.
Önemi ve Kullanımı: Veri analizi sonuçlarını paylaşmak ve işbirliği yapmak, veri analizi sürecinin önemli bir parçasıdır. shiny, R kullanıcılarının analiz sonuçlarını web tabanlı arayüzlerde paylaşmasını ve etkileşimli olarak görselleştirmesini sağlar, böylece analiz sonuçlarının anlaşılmasını artırır ve paylaşımını kolaylaştırır.
library(WDI)
data <- WDI(country = "all", indicator = c("NY.GDP.MKTP.CD", "SP.POP.TOTL","NE.IMP.GNFS.ZS"),start=2000,end=2020)
library(explore)
## Warning: package 'explore' was built under R version 4.3.2
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'tibble' was built under R version 4.3.2
## Warning: package 'readr' was built under R version 4.3.2
## Warning: package 'purrr' was built under R version 4.3.2
## Warning: package 'forcats' was built under R version 4.3.2
## Warning: package 'lubridate' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ readr 2.1.4
## ✔ lubridate 1.9.3 ✔ stringr 1.5.0
## ✔ purrr 1.0.2 ✔ tibble 3.2.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ✖ purrr::lift() masks caret::lift()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data %>% describe_all()
## # A tibble: 7 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 country chr 0 0 266 NA NA NA
## 2 iso2c chr 0 0 266 NA NA NA
## 3 iso3c chr 0 0 262 NA NA NA
## 4 year int 0 0 21 2000 2.01e 3 2.02e 3
## 5 NY.GDP.MKTP.CD dbl 211 3.8 5340 13964732. 2.00e12 8.78e13
## 6 SP.POP.TOTL dbl 21 0.4 5521 9609 2.82e 8 7.82e 9
## 7 NE.IMP.GNFS.ZS dbl 862 15.4 4685 4.83 4.45e 1 4.29e 2
ekstra_data <- WDI_data$country
data_extra <- left_join(data, ekstra_data)
## Joining with `by = join_by(country, iso2c, iso3c)`
data_extra <- data_extra %>% filter(income != "Aggregates")
data_extra %>% describe_all()
## # A tibble: 13 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 country chr 0 0 215 NA NA NA
## 2 iso2c chr 0 0 215 NA NA NA
## 3 iso3c chr 0 0 215 NA NA NA
## 4 year int 0 0 21 2000 2.01e 3 2.02e 3
## 5 NY.GDP.MKTP.CD dbl 190 4.2 4326 13964732. 3.04e11 2.14e13
## 6 SP.POP.TOTL dbl 0 0 4512 9609 3.19e 7 1.41e 9
## 7 NE.IMP.GNFS.ZS dbl 799 17.7 3717 4.83 4.80e 1 4.29e 2
## 8 region chr 0 0 7 NA NA NA
## 9 capital chr 0 0 210 NA NA NA
## 10 longitude chr 0 0 210 NA NA NA
## 11 latitude chr 0 0 210 NA NA NA
## 12 income chr 0 0 5 NA NA NA
## 13 lending chr 0 0 4 NA NA NA
eksik_veriler <- data_extra[is.na(data_extra$NY.GDP.MKTP.CD),]
kayip_degerler <- data_extra %>% group_by(country) %>%
summarise(kayip = sum(is.na(NY.GDP.MKTP.CD)))
data <- left_join(data_extra, kayip_degerler)
## Joining with `by = join_by(country)`
data <- data %>% filter (kayip < 1)
describe_all(data)
## # A tibble: 14 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 country chr 0 0 193 NA NA NA
## 2 iso2c chr 0 0 193 NA NA NA
## 3 iso3c chr 0 0 193 NA NA NA
## 4 year int 0 0 21 2000 2.01e 3 2.02e 3
## 5 NY.GDP.MKTP.CD dbl 0 0 4053 13964732. 3.24e11 2.14e13
## 6 SP.POP.TOTL dbl 0 0 4051 9609 3.48e 7 1.41e 9
## 7 NE.IMP.GNFS.ZS dbl 520 12.8 3534 4.83 4.67e 1 2.21e 2
## 8 region chr 0 0 7 NA NA NA
## 9 capital chr 0 0 190 NA NA NA
## 10 longitude chr 0 0 193 NA NA NA
## 11 latitude chr 0 0 193 NA NA NA
## 12 income chr 0 0 4 NA NA NA
## 13 lending chr 0 0 4 NA NA NA
## 14 kayip int 0 0 1 0 0 0
eksik_veriler_1 <- data_extra[is.na(data_extra$NE.IMP.GNFS.ZS),]
kayip_degerler_1 <- data_extra %>% group_by(country) %>%
summarise(kayip = sum(is.na(NE.IMP.GNFS.ZS)))
data <- left_join(data_extra, kayip_degerler_1)
## Joining with `by = join_by(country)`
data <- data %>% filter (kayip < 1)
describe_all(data)
## # A tibble: 14 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 country chr 0 0 151 NA NA NA
## 2 iso2c chr 0 0 151 NA NA NA
## 3 iso3c chr 0 0 151 NA NA NA
## 4 year int 0 0 21 2000 2.01e 3 2.02e 3
## 5 NY.GDP.MKTP.CD dbl 0 0 3171 63099902. 4.06e11 2.14e13
## 6 SP.POP.TOTL dbl 0 0 3170 43413 4.16e 7 1.41e 9
## 7 NE.IMP.GNFS.ZS dbl 0 0 3171 4.83 4.58e 1 2.21e 2
## 8 region chr 0 0 7 NA NA NA
## 9 capital chr 0 0 148 NA NA NA
## 10 longitude chr 0 0 151 NA NA NA
## 11 latitude chr 0 0 151 NA NA NA
## 12 income chr 0 0 4 NA NA NA
## 13 lending chr 0 0 4 NA NA NA
## 14 kayip int 0 0 1 0 0 0
singapur <- data %>% filter(iso2c == "SG")
ggplot(singapur, aes(x=year,y=NE.IMP.GNFS.ZS))+
geom_line()+
labs(title="Yıllara göre Singapurun ithalata ayırdığı miktar(% gsyh)",)
özet: singapur 2008 de en yüksek ithalat harcamaları
yapmiştir
ggplot(singapur, aes(x=year,y=SP.POP.TOTL))+
geom_line()+
labs(title="Yıllara göre Singapurun Nüfüs değişimi",)
özet 2015 te singapur 5.500.000 nufus’a ulaştı ### Yil seçimi
data_2016 <- data %>% filter(year==2016)
ggplot(data_2016, aes(x=SP.POP.TOTL, y=NE.IMP.GNFS.ZS, label=iso2c, colour=region)) +
geom_point() +
geom_text()
“Verim katsayısı”, genellikle bir işlem veya sürecin ne kadar etkili ve verimli olduğunu ölçen bir terimdir. Birçok farklı bağlamda kullanılabilir, ancak genel olarak, girdi ve çıktı arasındaki ilişkiyi ifade eder.
world_data <- data %>%
group_by(year) %>%
summarise(dunyanufusu = sum(SP.POP.TOTL),
dunyauretimi= sum(NY.GDP.MKTP.CD),
kisibasina = sum(dunyauretimi/dunyanufusu))
data <- left_join(data, world_data, by="year")
data <- data %>% mutate(ulkeninuretimorani = (NY.GDP.MKTP.CD )/dunyauretimi,
populyasyonorani = SP.POP.TOTL/dunyanufusu,
verim = ulkeninuretimorani/populyasyonorani)
data_2016 <- data %>% filter(year==2016)
ggplot(data_2016, aes(x=verim, y=NE.IMP.GNFS.ZS, label=iso2c, colour=region)) +
geom_point() +
geom_text()+
geom_vline(xintercept = 1)
Özet : Verimsiz ülkelerin ithalata ayırdığı miktar daha azken verimli ülkelerin ayırdıgi daha fazladır. grafığe göre en fazla ihracati yapan ülke hon kong.
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.2
pwt1001 <- read_excel("pwt1001.xlsx", sheet = "Data")
View(pwt1001)
pwt1001 <- pwt1001 %>% filter(year>1999)
odev <- left_join(data,pwt1001)
## Joining with `by = join_by(country, iso3c, year)`
odev_2014 <- odev %>% filter(year==2014)
ggplot(odev_2014, aes(x=verim, y=hc, label=iso2c, colour=region)) +
geom_point() +
geom_text()+
geom_vline(xintercept = 1)+
geom_hline(yintercept = 1)
## Warning: Removed 44 rows containing missing values or values outside the scale range
## (`geom_point()`).
## Warning: Removed 44 rows containing missing values or values outside the scale range
## (`geom_text()`).
Özet: Grafiğin sağ üstünde eğitime harcama yapan ve
verimli ülkeler. solunda ise daha fazla eğitime yatırım yapıpta verimsiz
olan ülkeler yer almakta