Menghitung Statistik

mean : rata-rata

median : median

var : ragam(variansi)

range : nilai minimum dan maksimum

quantile : persentil, desil, kuartil

summary : min, Q1, median, mean, Q3, max

x<- c(2,2,0,1,3,3,2,2,2,2)
summary(x)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     0.0     2.0     2.0     1.9     2.0     3.0
range(x)
## [1] 0 3

Modus

mode <- function(x){
  uqx <- unique(x)
  tab <- table(x)
  sort(uqx)[tab == max(tab)]
}
mode(x)
## [1] 2

Rata-rata Geometeri

mean.geom <- function(x){
  exp(mean(log(x)))
}
mean.geom(x)
## [1] 0

Rata-rata Harmoni

mean.harm <- function(x){
  1/(mean(1/x))
}
mean.harm(x)
## [1] 0

Nilai Skewness dan Kurtosis

library(e1071)
skewness(x)
## [1] -0.7329177
kurtosis(x)
## [1] -0.1729112

Menampilkan Grafik

Diagram dahan daun

Diagram dahan daun (stem-and-leaf display) dari data dapat dilakukan dengan

stem(x)

nilai.matematika<-c(67,74,58,90,82,66,86,45,95,74)
nilai.fisika<-c(72,65,66,86,72,56,79,80,89,56)
stem(nilai.matematika)
## 
##   The decimal point is 1 digit(s) to the right of the |
## 
##   4 | 58
##   6 | 6744
##   8 | 2605

Diagram kotak garis

Untuk membandingkan beberapa kelompok data sering digunakan diagram kotak garis (boxplot). Untuk membuat diagram kotak garis suatu kelompok data digunakan

boxplot(x)

nilai.matematika<-c(67,74,58,90,82,66,86,45,95,74)
nilai.fisika<-c(72,65,66,86,72,56,79,80,89,56)
boxplot(nilai.matematika, xlab="Matematika",ylab="nilai")

dt <- cbind(nilai.matematika,nilai.fisika)
boxplot(dt, xlab="grup", ylab="nilai",col =c("lightblue"))

Histogram

hist(v,main,xlab,xlim,ylim,breaks,col,border)

v adalah vektor yang mengandung nilai numerik yang digunakan dalam histogram.

main menunjukkan judul grafik.

col digunakan untuk mengatur warna batang.

border digunakan untuk mengatur warna border setiap bar.

xlab digunakan untuk memberikan gambaran sumbu x.

xlim digunakan untuk menentukan kisaran nilai pada sumbu x.

ylim digunakan untuk menentukan rentang nilai pada sumbu y.

break digunakan untuk menyebutkan lebar setiap batang.

hist(nilai.matematika,xlab = "nilai",col = "yellow",border = "blue")

hist(nilai.matematika,xlab = "Weight",col = "green",border = "red", xlim = c(0,100), ylim = c(0,5), breaks = 5)

Diagram Pencar

Untuk membuat diagram pencar (scatter plot) dari data berpasangan (x,y)

Scatter Plot atau diagram pencar adalah diagram yang digunakan untuk menampilkan sebaran data. Scatter plot seringkali dipakai untuk melakukan analisa regresi dan korelasi, runtun waktu (time series), bahkan dapat digunakan untuk melakukan statistical learning

Ada banyak jenis tipe untuk atribut type, diantaranya:

type=”l” untuk memberi garis penghubung antar titik

type=”p” untuk memberi penebal titik

type=”b” untuk memberi garis penghubung dengan penebal titik

type=”c” untuk memberi garis penghubung tanta titik

type=”h” untuk membuat histogram

type=”s” untuk membuat grafik fungsi tangga

type=”o” untuk membuat overplot (mirip dengan “b” cuman titiknya ditembus oleh garis penghubung)

plot(x, y, pch = 19, cex = 0.8, frame = FALSE, xlab = “nama label pada sumbu X”, ylab = “nama label pada sumbu y”)

plot(nilai.matematika, nilai.fisika, pch = 19, cex = 0.8, frame = FALSE, xlab = "matematika", ylab = "fisika", main="korelasi")

Diagram Batang

barplot(nilai.matematika, names.arg = nilai.matematika, col = "red")

barplot(nilai.matematika)

par(mfrow=c(1,2))
barplot(nilai.matematika, names.arg = nilai.matematika, horiz = TRUE,col = "blue")
barplot(nilai.matematika, names.arg = nilai.matematika, col = "red")

Staked BAR

VADeaths
##       Rural Male Rural Female Urban Male Urban Female
## 50-54       11.7          8.7       15.4          8.4
## 55-59       18.1         11.7       24.3         13.6
## 60-64       26.9         20.3       37.0         19.3
## 65-69       41.0         30.9       54.6         35.1
## 70-74       66.0         54.3       71.1         50.0
barplot(VADeaths,
         col = c("lightblue", "mistyrose", "lightcyan", 
                 "lavender", "cornsilk"),
        legend = rownames(VADeaths))

Grouped Bar

barplot(VADeaths,
         col = c("lightblue", "mistyrose", "lightcyan", 
                 "lavender", "cornsilk"),
        legend = rownames(VADeaths), beside = TRUE)

Menggunakan GGPLOT

ggplot

df <- data.frame(dose=c("D0.5", "D1", "D2"),
                len=c(4.2, 10, 29.5))
head(df)
library(ggplot2)
ggplot(data=df, aes(x=dose, y=len))+geom_bar(stat="identity", fill="steelblue")+geom_text(aes(label=len), vjust=1.6, color="white", size=3.5)+theme_minimal()

Mengurutkan Diagram Batang dengan fungsi ggplot

kabkot_kalbar <- c("Sambas", "Bengkayang", "Landak","Mempawah", "Sanggau", "Ketapang","Sintang", "Kapuas Hulu","Sekadau", "Melawi", "Kayong Utara", "Kubu Raya", "Pontianak", "Singkawang")
TPT <- c(3.34, 2.40, 2.29, 6.87, 2.47, 3.23, 2.34, 1.58, 2.80, 3.15, 3.93, 5.04, 10.37, 7.88)
TPT_kabkot_kalbar_2018 <- data.frame(kabkot_kalbar, TPT)
TPT_kabkot_kalbar_2018
### install packages ###
install.packages("ggplot2")
library("ggplot2")

## Mengurutkan data tertinggi ke terendah
TPT_barchart <- ggplot(TPT_kabkot_kalbar_2018,
  aes(x = reorder(TPT_kabkot_kalbar_2018$kabkot_kalbar, -TPT_kabkot_kalbar_2018$TPT),
                                                  y = TPT_kabkot_kalbar_2018$TPT)) +
  geom_bar(stat = "identity",color='skyblue', fill='steelblue') +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(title = "Tingkat Pengangguran Terbuka", subtitle="Tingkat Pengangguran Terbuka Kab/Kota di Kalimantan Barat 2018",
      caption="Sumber: Badan Pusat Statistik", y = "TPT (%)", x = "Kabupaten/Kota")
TPT_barchart

### Merubah menjadi vertikal
TPT_barchart <- ggplot(TPT_kabkot_kalbar_2018,
  aes(x = reorder(TPT_kabkot_kalbar_2018$kabkot_kalbar, TPT_kabkot_kalbar_2018$TPT),
                                                y = TPT_kabkot_kalbar_2018$TPT)) +
  geom_bar(stat = "identity", color='skyblue', fill='steelblue') +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  geom_text(aes(label = TPT), nudge_y = -0.5) +
  labs(title = "Tingkat Pengangguran Terbuka", subtitle="Tingkat Pengangguran Terbuka Kab/Kota di Kalimantan Barat 2018",
      caption="Sumber: Badan Pusat Statistik", y = "TPT (%)", x = "Kabupaten/Kota") +
  coord_flip()
TPT_barchart

Diagram Lingkaran

pie(x, labels, radius, main, col, clockwise)

x adalah vektor yang berisi nilai numerik yang digunakan dalam diagram lingkaran.

label digunakan untuk memberikan deskripsi pada irisan.

radius menunjukkan jari-jari lingkaran diagram lingkaran (nilai antara −1 dan +1).

main menunjukkan judul grafik.

col menunjukkan palet warna.

clockwise adalah nilai logika yang menunjukkan jika irisan digambar searah jarum jam atau berlawanan arah jarum jam.

x <-  c(21, 62, 10,53)
kota <-  c("London","New York","Singapore","Mumbai")

piepercent<- round(100*x/sum(x), 1)

pie(x, labels = piepercent, main = "City pie chart",col = rainbow(length(x)))
legend("topright", c("London","New York","Singapore","Mumbai"), cex = 0.8,
   fill = rainbow(length(x)))

library(plotrix)
x <-  c(21, 62, 10,53)
lbl <-  c("London","New York","Singapore","Mumbai")
pie3D(x,labels = lbl,explode = 0.1, main = "Pie Chart of Countries")

Grafik

cars <- c(1, 3, 6, 4, 9,4,11,23,44)
trucks <- c(2, 5, 4, 5, 12,4,34,18,9)
# membuat line plot
plot(cars, type="o", col="blue", ylim=c(0,50))
# menambahkan line plot
lines(trucks, type="o", pch=22, lty=2, col="red")
title(main="Autos", col.main="red", font.main=4)

*** Contoh 2

# Persiapan Data 
Tahun <- c("2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010",
          "2011","2012","2013","2014","2015","2016","2017","2018")
Tahun <- as.integer(Tahun)
TPT <- c(6.08, 8.10, 9.06, 9.67, 9.86, 11.24, 10.28, 9.11, 8.39, 7.87, 7.14,
        7.48, 6.13, 6.17, 5.94, 6.18, 5.61, 5.50, 5.34)
Miskin <- c(19.14, 18.41, 18.20, 17.42, 16.66, 15.97, 17.75, 16.58, 15.42,14.15, 13.33,
            12.49, 11.66, 11.47, 10.96, 11.13, 10.70, 10.12, 9.66)
# Membuat dataframe
data <- data.frame(Tahun, TPT, Miskin)
data
# install packages ###
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library("ggplot2")

### Membuat Beberapa Grafik Garis ###
lineChart <- ggplot(data, aes(x = Tahun)) +
  geom_line(aes(y = TPT), color = "#00ba38", size=1) +
  geom_line(aes(y = Miskin), color = "#f8766d", size=1) +
  labs(title = "TPT dan Kemiskinan", subtitle="Tingkat Pengangguran Terbuka dan Kemiskinan Indonesia Tahun 2000-2018",
      caption="Sumber: Badan Pusat Statistik", y = "Persentase (%)")
lineChart

Contoh 3

Time series analysis atau deret waktu adalah rangkaian titik data yang setiap titik datanya dikaitkan dengan waktu

Objek deret waktu dibuat dengan menggunakan fungsi ts().

timeseries.object.name <- ts(data, start, end, frequency)

data adalah vektor atau matriks yang berisi nilai-nilai yang digunakan dalam deret waktu.

start menentukan waktu mulai untuk pengamatan pertama dalam deret waktu.

end menentukan waktu berakhir untuk pengamatan terakhir dalam deret waktu.

frequency menentukan jumlah pengamatan per satuan waktu.

# Dapatkan titik data dalam bentuk vektor R..
rainfall1 <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071)
rainfall2 <- 
           c(655,1306.9,1323.4,1172.2,562.2,824,822.4,1265.5,799.6,1105.6,1106.7,1337.8)

# Ubah menjadi matriks.
combined.rainfall <-  matrix(c(rainfall1,rainfall2),nrow = 12)

# Ubah menjadi objek deret waktu.
rainfall.timeseries <- ts(combined.rainfall,start = c(2012,1),frequency = 12)

# Cetak data deret waktu.
print(rainfall.timeseries)
##          Series 1 Series 2
## Jan 2012    799.0    655.0
## Feb 2012   1174.8   1306.9
## Mar 2012    865.1   1323.4
## Apr 2012   1334.6   1172.2
## May 2012    635.4    562.2
## Jun 2012    918.5    824.0
## Jul 2012    685.5    822.4
## Aug 2012    998.6   1265.5
## Sep 2012    784.2    799.6
## Oct 2012    985.0   1105.6
## Nov 2012    882.8   1106.7
## Dec 2012   1071.0   1337.8
# Plot grafik deret waktu.
plot(rainfall.timeseries, main = "Multiple Time Series")