install.packages('psych')
Review R dan Regresi Linier Sederhana
Simple Linear Regression
Review R
Instalasi Library
install.packages (Nama Packages
) , untuk mengunduh library yang diperlukan kita dapat mengganti Nama Packages
dengan packages yang kita butuhkan. Jangan lupa untuk menambahkan tanda " "
atau ' '
sebelum dan sesudah Nama packages
Mengimport Library
library (Nama Packages
) , untuk mengimport atau menggunakan library yang sudah diunduh sebelumnya kita dapat menggunakan fungsi tersebut dengan mengubah Nama Packages
menjadi packages yang dibutuhkan atau yang sudah diunduh sebelumnya. Pada bagian import library tidak diperlukan tanda " "
atau ' '
library(psych)
Membaca Data
pada dasarnya pembacaan file di R studio bisa berbagai macam format file , untuk contohnya:
- library (
readxl
) untuk membaca data yang berformat.xlsx
atau.xls
- library (
readr
) untuk membaca data yang berformat.csv
library(readxl)
library(readr)
Tahap - Tahap Membaca Data
- Membuka Menu File pada RStudio
- Memilih File / Data yang diinginkan
- Memilih section
import dataset
- Megcopy File Path URL
setelah mendapatkan file url , selanjutnya akan dibaca menggunakan read_csv ('file_url'
) , jangan lupa untuk mengubah file url sesuai file url yang didapatkan dari tahap mecari data. Selain itu jangan lupa untuk menambahkan tanda ' '
atau " "
sebelum dan sesudah file url yang didapatkan.
library(readr)
<- read_csv('~/Downloads/Iris.csv') data
Memeriksa Data
Untuk melanjutkan modul ini, akan digunakan dataset iris bawaan r yang dapat diakses dengan syntax berikut.
data(iris)
<- iris data
Untuk memeriksa data dapat menggunakan banyak cara diantaranya:
- View (
data
) , untuk melihat keseluruhan data - head (
data
) , untuk melihat 6 data teratas - tail (
data
) , untuk melihat 6 data terbawah
jangan lupa untuk mengubah variabel data
sesuai dengan variabel yang didefinisikan sebelumnya.
View(data)
head(data)
tail(data)
Tipe Data
Untuk memperoleh informasi tipe data dari sebuah data kita akan menggunakan str (data
) , jangan lupa untuk mengubah data
sesuai variabel yang didefinisikan sebelumnya
str(data)
Penjelasan tipe data:
num
: Num mengartikan bahwa variabel tersebut adalah nilai numerik / sebuah angkachr
: Chr mengartikan bahwa variabel tersebut adalah nilai yang berupa tulisan atau bisa disebut juga string
Statistik Deksriptif
Untuk memeriksa statisika deskriptif dari data dapat menggunakan:
- library (
psych
) - library (
DescTools
) - library (
moments
)
Untuk penjelasan fungsi statistik deskriptif bisa dilihat pada tabel berikut:
Fungsi | Penjelasan | Library |
---|---|---|
mean(data) |
Menghitung rata-rata dari data. | Base R |
median(data) |
Menghitung nilai tengah dari data. | Base R |
sum(data) |
Menghitung jumlah total elemen dalam data. | Base R |
sd(data) |
Menghitung standar deviasi dari data. | Base R |
var(data) |
Menghitung varians dari data. | Base R |
Mode(data) |
Menghitung modus dari data, nilai yang paling sering muncul. | DescTools |
standarerror <- sd(data)/sqrt(length(data)) |
Menghitung standar error dari data. | Base R |
sort(data) |
Mengurutkan elemen dalam dari nilai terkecil ke terbesar. | Base R |
min(data) |
Menghitung nilai minimum dari data. | Base R |
max(data) |
Menghitung nilai maksimum dari data. | Base R |
range(data) |
Menghitung selisih antara nilai maksimum dan minimum dari data. | Base R |
quantile(data, prob=0.25) |
Menghitung kuartil ke-1 (Q1) atau persentil ke-25 dari data. | Base R |
quantile(data, prob=0.75) |
Menghitung kuartil ke-3 (Q3) atau persentil ke-75 dari data. | Base R |
skewness(data) |
Menghitung kemiringan distribusi (skewness) dari data. | moments |
kurtosis(data) |
Menghitung keruncingan distribusi (kurtosis) dari data. | moments |
library(psych)
library(DescTools)
library(moments)
mean(data$Petal.Length)
median(data$Petal.Length)
sd(data$Petal.Length)
var(data$Petal.Length)
untuk melihat keseluruhan statistika deskriptif dapat menggunakan :
- summary (
data
) , - describe (
data
) , menggunakan librarypsych
untuk statistika deksriptif yang lebih advance
summary(data)
describe(data)
Split Data
untuk membuat split data kita dapat menggunakan : sample() ,
untuk memperoleh hasil yang selalu sama jangan lupa untuk mengatur seed dengan cara : set.seed(
42
) , angka42
dapat digantikan sesuai yang diinginkan.
set.seed(42)
<- sample(1:nrow(data), size = 0.8 * nrow(data))
index
<- data[index, ] # 80% of the data
train_data <- data[-index, ] # 20% of the data test_data
size
dapaat diatur sesuai ketentuan , jika ketentuannya diambil 70% data maka dapat mengubah size
menjadi 0.7.
Regresi Linier Sederhana
Untuk mendefinisikan suatu regresi linier sederhana kita dapat menggunakan fungsi lm() , dengan cara:
lm(variabel response
~ variabel prediktor
, data = data
)
dimana :
- Variabel Response (
y
) - Variabel Prediktor (
X
)
<- lm(Petal.Length ~ Petal.Width, data = train_data)
model model
Interpretasi summary(model)
Fungsi summary(model)
dapat digunakan untuk melihat informasi mengenai model yang telah dibentuk.
summary(model)
Visualisasi Model
Untuk membuat visualisasi regresi linier sederhana, lakukan langkah-langkah berikut: 1. Buat scatter plot variabel respons dan variabel prediktor dengan function plot(pred, resp)
2. Buat garis regresi dengan function abline(model)
3. Buat keterangan garis regresi dengan function legend()
(*optional)
# Scatter Plot Petal.Width ~ Petal.Length
plot(iris$Petal.Width,
$Petal.Length,
irisxlab = "Petal Width",
ylab = "Petal Length",
main = "Plot Regresi Petal Length ~ Petal Width",
pch = 20)
# Garis Regresi
abline(model,
col = "red",
lwd = 2)
legend("bottomright",
legend = "Garis Regresi",
col = "blue",
lwd = 2,
bty = "n")
Interval Kepercayaan dan Interval Prediksi
Interval Kepercayaan untuk taksiran koefisien dapat dihitung dengan fungsi confint(model)
confint(model, level = 0.9)
Interval Prediksi untuk suatu nilai-nilai di luar data yang digunakan untuk pemodelan dapat dihitung dengan fungsi predict(model, newdata, interval='prediction')
predict(model, newdata = test_data, interval = "prediction", level = 0.9)
Untuk suatu nilai x tertentu, dapat dicari interval prediksinya dengan syntax berikut
predict(model, newdata = data.frame(Petal.Width=20), interval = "prediction", level = 0.9)
Representasi Grafik Residual Model
Residual model dapat diakses dengan memanggil model$residual
atau resid(model)
head(model$residual)
head(resid(model))
Plot residual dapat dibentuk dengan cara-cara berikut.
plot(model$residual)
plot(model, 1)
hist(model$residual)