STA1512-Pendahuluan
Pada praktikum STA1512 akan digunakan software R, adapun cara untuk menginstall R adalah sebagai berikut:
Istilah dalam Statistika
Populasi : keseluruhan objek yang menjadi pusat amatan kita
Contoh/sampel: himpunan bagian dari populasi (mewakili)
Parameter: Karakteristik numerik yang mencirikan populasi berdasarkan peubah tertentu
Statistik: Karakteristik numerik yang mencirikan contoh/sampel berdasarkan peubah tertentu
Penyajian Data
Package
library(readxl)
library(tidyverse)
library(ggplot2)
library(aplpack)
library(kableExtra)
library(janitor)
Import Data
Data dapat didownload melalui: link.
<- read.csv("D:/MATERI KULIAH S2 IPB/ASPRAK 2/Example_data.csv")
data1 head(data1)
## bookpageID appdate ceremonydate delay officialTitle person dob
## 1 B230p539 10/29/1996 11/9/1996 11 CIRCUIT JUDGE Groom 4/11/1964
## 2 B230p677 11/12/1996 11/12/1996 0 MARRIAGE OFFICIAL Groom 8/6/1964
## 3 B230p766 11/19/1996 11/27/1996 8 MARRIAGE OFFICIAL Groom 2/20/1962
## 4 B230p892 12/2/1996 12/7/1996 5 MINISTER Groom 5/20/1956
## 5 B230p994 12/9/1996 12/14/1996 5 MINISTER Groom 12/14/1966
## 6 B230p1209 12/26/1996 12/26/1996 0 MARRIAGE OFFICIAL Groom 2/21/1970
## age college zodiacs
## 1 32.60274 7 Aries
## 2 32.29041 0 Leo
## 3 34.79178 3 Pisces
## 4 40.57808 4 Gemini
## 5 30.02192 0 Saggitarius
## 6 26.86301 0 Pisces
#check missing data
colSums(is.na(data1))
## bookpageID appdate ceremonydate delay officialTitle
## 0 0 0 1 0
## person dob age college zodiacs
## 0 0 1 11 0
# drop NA : menghapus data yang hilang
<- drop_na(data1)
dataz
#check missing data
colSums(is.na(dataz))
## bookpageID appdate ceremonydate delay officialTitle
## 0 0 0 0 0
## person dob age college zodiacs
## 0 0 0 0 0
Bar Chart (Diagram Batang)
Berguna untuk menampilkan data kategorik (nominal dan ordinal) Dapat pula digunakan untuk menyajikan data dari tabel kontingensi / tabel ringkasan data
ggplot(dataz, aes(x = zodiacs)) + # diagram view of `Zodiacs`
geom_bar(fill = "pink",color= "black") + # colors
theme_minimal() + # background theme
labs(x = "Zodiacs", # label for every variables
y = "Frequency",
title = "Zodiacs")
ggplot(dataz, aes(x = zodiacs)) + # diagram view of `Zodiacs`
geom_bar(fill = "coral",color= "black") + # colors
theme_minimal() + # background theme
labs(x = "Zodiacs", # label for every variables
y = "Frequency",
title = "Zodiacs") +
coord_flip()
Pie Chart
Digunakan untuk menampilkan data kategorik khususnya data nominal
Menunjukkan distribusi data dalam group (total 100%)
Disajikan dalam bentuk %, terkadang perlu menyajikan pula jumlah data
<- dataz %>%
plotdata count(zodiacs) %>%
arrange(desc(zodiacs)) %>%
mutate(prop = round(n*100/sum(n), 1),
lab.ypos = cumsum(prop) - 0.5*prop)
# Pie Chart
ggplot(plotdata, aes(x = "", y = prop, fill = zodiacs)) +
geom_bar(width = 1, stat = "identity", color = "white") +
coord_polar("y", start = 0)+
geom_text(aes(y = lab.ypos, label = prop), color = "black")+
scale_fill_manual(values = rainbow(13)) +
theme_void()+
labs(title = "Percentage of Zodiacs")
Dot Plot (Diagram Titik)
Sebuah grafik yang digunakan untuk melihat distribusi data asli yang berupa titik. Digunakan untuk melihat frekuensi kejadian untuk masing-masing nilai
ggplot(dataz, aes(x = age)) +
geom_dotplot(fill = "blue",
binwidth = 2) +
theme_minimal() +
labs(title = "Age",
y = "Proportions",
x = "Age",
subtitle = "binwidth = 2")
Stem & leaf plot (Diagram Dahan Daun)
Sebuah diagram yang menampilkan distribusi dari data kuantitatif yang sudah terurut dari terkecil dan terbesar
Terdiri dari bagian dahan dan bagian daun. Bagian daun selalu terdiri dari satu digit. Bagian dahan terletak di sebelah kiri dan bersesuaian dengan bagian daun (jika ada) di sebelah kanan
<- c(20,12,39,38,
variety_1 41,43,51,52,
59,55,53,59,
50,58,35,38,
23,32,43,53)
<- c(18,45,62,59,
variety_2 53,25,13,57,
42,55,13,57,
42,55,56,38,
41,36,50,62,
45,55)
stem.leaf.backback(variety_1, variety_2, m = 1)
## _____________________________________
## 1 | 2: represents 12, leaf unit: 1
## variety_1 variety_2
## _____________________________________
## 1 2| 1 |338 3
## 3 30| 2 |5 4
## 8 98852| 3 |68 6
## (3) 331| 4 |12255 (5)
## 9 998533210| 5 |035556779 (9)
## | 6 |22 2
## | 7 |
## _____________________________________
## n: 20 22
## _____________________________________
stem(variety_1)
##
## The decimal point is 1 digit(s) to the right of the |
##
## 1 | 2
## 2 | 03
## 3 | 25889
## 4 | 133
## 5 | 012335899
Box Plot (Diagram Kotak Garis)
Menyajikan data dari hasil statistik 5 serangkai (Min, Q1, Q2, Q3, Max). Informasi yang diperoleh:
Melihat ukuran penyebaran dan ukuran pemusatan data
Melihat adanya data pencilan
Sebagai alat pembandingan sebaran dua kelompok data atau lebih
#simple boxplot
boxplot(variety_1)
head(datasets::airquality)
## Ozone Solar.R Wind Temp Month Day
## 1 41 190 7.4 67 5 1
## 2 36 118 8.0 72 5 2
## 3 12 149 12.6 74 5 3
## 4 18 313 11.5 62 5 4
## 5 NA NA 14.3 56 5 5
## 6 28 NA 14.9 66 5 6
ggplot(data = airquality, aes(x=as.character(Month), y=Temp)) +
geom_boxplot(fill=c('steelblue')) #boxplot of temperature value every month
#using different color
ggplot(data = airquality, aes(x=as.character(Month), y=Temp)) +
geom_boxplot(fill=c('steelblue', 'red', 'purple', 'green', 'orange'))
Tabel Kontingensi
Digunakan untuk melihat distribusi dari dua data kategorik atau lebih.
Data
mtcars
data from R
The data was extracted from the 1974 Motor Trend US magazine, and comprises fuel consumption and 10 aspects of automobile design and performance for 32 automobiles (1973–74 models).
A data frame with 32 observations on 11 (numeric) variables.
# reading the data
data(mtcars)
colnames(mtcars)
## [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"
## [11] "carb"
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
attach(mtcars)
## The following object is masked from package:ggplot2:
##
## mpg
# Contingency Table – 2-way relationships
= table(cyl, gear)
t0 t0
## gear
## cyl 3 4 5
## 4 1 8 2
## 6 2 4 1
## 8 12 0 2
=xtabs(~ cyl + gear
t1 data = mtcars)
, t1
## gear
## cyl 3 4 5
## 4 1 8 2
## 6 2 4 1
## 8 12 0 2
= ftable(gear ~ cyl
t2 data = mtcars)
, t2
## gear 3 4 5
## cyl
## 4 1 8 2
## 6 2 4 1
## 8 12 0 2
Tabel Frekuensi
A frequency table is a table that lists items and shows the number of times the items occur.
= tabyl(dataz, officialTitle) %>%
table2 adorn_totals("row") %>%
adorn_pct_formatting(digits = 0)
names(table2) = c("Official Title", "Frequency", "Percent")
kbl(table2,
caption = "Table 1: Distribution of participants by official title") %>%
kable_styling(bootstrap_options = "striped", full_width = FALSE, position = "left")
Official Title | Frequency | Percent |
---|---|---|
BISHOP | 1 | 1% |
CATHOLIC PRIEST | 2 | 2% |
CHIEF CLERK | 2 | 2% |
CIRCUIT JUDGE | 2 | 2% |
ELDER | 2 | 2% |
MARRIAGE OFFICIAL | 40 | 45% |
MINISTER | 19 | 22% |
PASTOR | 20 | 23% |
Total | 88 | 100% |
<-dataz%>%count(officialTitle)
datatable1 datatable1
## officialTitle n
## 1 BISHOP 1
## 2 CATHOLIC PRIEST 2
## 3 CHIEF CLERK 2
## 4 CIRCUIT JUDGE 2
## 5 ELDER 2
## 6 MARRIAGE OFFICIAL 40
## 7 MINISTER 19
## 8 PASTOR 20
Tabel Ringkasan
<- dataz %>%
table1 group_by(zodiacs) %>%
summarise(Frequency = n(),
Minimum = min(age),
Maximum = max(age),
Median = median(age),
Mean=mean(age),
IQR = diff(quantile(age, c(1, 3)/4)))
names(table1)[1] = c("Zodiacs")
kbl(table1, digits = 2,
caption = "Table 1: Descriptive statistics of age by zodiacs.") %>%
kable_styling(bootstrap_options = "striped", full_width = FALSE, position = "left")
Zodiacs | Frequency | Minimum | Maximum | Median | Mean | IQR |
---|---|---|---|---|---|---|
Aquarius | 7 | 20.27 | 42.17 | 23.38 | 28.27 | 10.45 |
Aries | 9 | 20.04 | 52.44 | 33.98 | 34.00 | 17.83 |
Cancer | 8 | 16.27 | 67.58 | 40.42 | 38.73 | 12.07 |
Capricorn | 2 | 23.99 | 37.84 | 30.92 | 30.92 | 6.93 |
Gemini | 9 | 18.46 | 74.25 | 34.01 | 42.09 | 29.81 |
Leo | 6 | 18.28 | 68.04 | 29.36 | 34.70 | 19.62 |
Libra | 6 | 18.36 | 45.02 | 22.30 | 27.59 | 16.85 |
Pisces | 13 | 18.64 | 55.64 | 26.86 | 30.28 | 14.02 |
Saggitarius | 9 | 21.34 | 44.85 | 37.55 | 34.11 | 16.44 |
Scorpio | 6 | 18.40 | 72.80 | 28.93 | 36.13 | 13.34 |
Taurus | 5 | 17.02 | 52.59 | 39.58 | 36.49 | 25.35 |
Virgo | 8 | 20.22 | 50.07 | 27.74 | 31.02 | 18.84 |
Ukuran Pemusatan Data
Package
library(DescTools)
1. Mean
Mean merupakan pusat massa (centroid). Jika menggambarkan populasi di tuliskan sebagai \(\mu\). Jika menggambarkan contoh dituliskan sebagai \(\bar{x}\). Mean Resisten terhadap outlier.
<-c(12.5,29.9,14.8,18.7,5,7.6,16.2,16.5,27.4,12.1,17.5,5)
dist<-sum(dist)/length(dist)
mean1 mean1
## [1] 15.26667
# or using function `mean`
<-mean(dist)
mean2 mean2
## [1] 15.26667
2. Median
Median disimbolkan dengan Q2 dan merupakan pengamatan yang berada ditengah-tengah dari data terurut.
<-median(dist)
med1 med1
## [1] 15.5
3. Modus
Modus merupakan nilai pengamatan yang paling sering muncul.
<-Mode(dist)
mode1 mode1
## [1] 5
## attr(,"freq")
## [1] 2
4. Quartil
Quartil merupakan Nilai-nilai yang membagi data terurut menjadi 4 bagian yang sama Q0 = min dan Q4 = max. Q1(dibaca kuartil 1) merupakan nilai yang membagi data 25% data di kiri dan 75% data di kanan Q3 (dibaca kuartil 3) merupakan nilai yang membagi data 75% data di kiri dan 25% data di sebelah kanan. Quartil Robust terhadap outlier.
# Q1 and Q3
quantile(dist,probs=c(0.25,0.75))
## 25% 75%
## 10.975 17.800
# Q0 and Q4
<-min(dist)
nilaiq0 nilaiq0
## [1] 5
<-max(dist)
nilaiq4 nilaiq4
## [1] 29.9
Function summary
in R
summary(dist)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.00 10.97 15.50 15.27 17.80 29.90
Ukuran Penyebaran Data
library(DescTools)
1. Range
Jangkauan atau range, R, dari n pengamatan adalah perbedaan antara pemngamatan terbesar dan terkecil.
Range = Max(data)-Min(data)
<-max(dist)-min(dist)
range1 range1
## [1] 24.9
2. Jangkauan Antar Kuartil (JAK) atau Interquartil range (IQR)
IQR = Q3 - Q1
<-quantile(dist,probs=c(0.75)) - quantile(dist,probs=c(0.25))
IQR IQR
## 75%
## 6.825
3. Ragam
Ragam merupakan ukuran keberagaman yang menggunakan semua pengamatan. Ragam mengukur perbedaan antara setiap pengamatan terhadap rataannya.
<-var(dist)
ragam1 ragam1
## [1] 60.72788
4. Standar Deviasi
Standar deviasi merupakan akar dari Ragam.
<-sd(dist)
sd1 sd1
## [1] 7.792809