knitr::opts_chunk$set(echo = TRUE)
Orange adalah dataset yang mengukur tentang pertumbuhan pohon jeruk. Data ini berisi pengukuran lingkar batang (circumfence) pohon jeruk pada berbagai usia (age), yang terdiri dari 35 baris dan 3 kolom. Data ini terdiri dari 3 variabel, yaitu Tree, Age, & Circumference.
library(ggplot2)
library(plotly)
## Warning: package 'plotly' was built under R version 4.3.3
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
library(ggplotlyExtra)
## Warning: package 'ggplotlyExtra' was built under R version 4.3.3
library(magrittr)
View(Orange)
p_scatter = ggplot(Orange, aes(x = age, y = circumference, color = as.factor(Tree))) +
geom_point(size = 3) +
labs(title = "Scatter Plot: Circumference vs. Age by Tree", x = "Age", y = "Circumference") +
scale_color_discrete(name = "Tree")
ggplotly(p_scatter)
Grafik ini menunjukkan hubungan antara umur pohon (sumbu x) dan keliling batang pohon (sumbu y) untuk lima pohon yang berbeda, dengan setiap pohon diwakili oleh warna yang unik. Dari data ini, terlihat bahwa seiring bertambahnya umur, keliling batang cenderung meningkat. Namun, tingkat pertumbuhan ini tidak sepenuhnya konsisten antar pohon. Beberapa pohon menunjukkan peningkatan keliling yang lebih cepat pada usia tertentu, sedangkan pohon lain memiliki pertumbuhan yang lebih stabil atau bahkan lebih lambat. Ini mengindikasikan bahwa pertumbuhan keliling pohon mungkin dipengaruhi oleh faktor-faktor khusus, seperti kondisi lingkungan atau karakteristik biologis masing-masing pohon.
p_line <- plot_ly(Orange, x = ~age, y = ~circumference, color = ~Tree, type = 'scatter', mode = 'lines+markers') %>%
layout(title = "Line Chart: Circumference Growth by Age and Tree",
xaxis = list(title = "Age (days)"),
yaxis = list(title = "Circumference (mm)"))
p_line
Grafik ini memperlihatkan tren pertumbuhan keliling pohon dari waktu ke waktu dengan lebih terstruktur. Setiap garis mewakili pohon tertentu, dan dari grafik ini dapat dilihat pola umum bahwa keliling batang meningkat seiring bertambahnya umur pohon. Meskipun tren umumnya menunjukkan peningkatan yang stabil, terdapat perbedaan laju pertumbuhan di antara pohon-pohon tersebut. Misalnya, pohon yang ditandai dengan warna kuning mengalami peningkatan keliling yang tajam setelah umur 600 hari, melampaui pertumbuhan pohon lain. Di sisi lain, pohon dengan warna ungu memperlihatkan pertumbuhan yang lebih lambat dan stabil sepanjang waktu, tanpa adanya kenaikan yang signifikan pada usia tertentu. Hal ini memberikan gambaran bahwa setiap pohon mungkin memiliki kapasitas pertumbuhan yang berbeda yang dipengaruhi oleh faktor internal dan eksternal.
p_box <- ggplot(Orange, aes(x = as.factor(Tree), y = circumference, fill = as.factor(age))) +
geom_boxplot(outlier.shape = NA) + # Hide outliers to reduce overlap
geom_jitter(width = 0.2, size = 2, aes(color = as.factor(age))) + # Add jittered points
labs(title = "Stacked Box Plot: Circumference by Tree and Age", x = "Tree", y = "Circumference") +
scale_fill_discrete(name = "Age") +
scale_color_discrete(name = "Age") +
theme_minimal()
ggplotly(p_box)
Grafik memperlihatkan distribusi dan variasi keliling batang pohon pada berbagai kelompok umur untuk setiap pohon secara ringkas. Setiap kotak menunjukkan rentang antar kuartil (IQR) yang mencakup 50% data utama, dengan garis median sebagai nilai tengahnya. Whiskers menggambarkan jangkauan normal pertumbuhan keliling batang, sementara titik-titik outlier menunjukkan nilai-nilai ekstrem di luar rentang ini, mengindikasikan variasi pertumbuhan yang signifikan antar pohon pada usia yang sama. Dengan perbandingan ini, kita bisa melihat pohon mana yang menunjukkan pertumbuhan konsisten dan mana yang memiliki variasi besar, mencerminkan faktor-faktor unik yang memengaruhi pertumbuhan setiap pohon.
orange_bar_data <- Orange %>%
group_by(age, Tree) %>%
summarise(circumference = mean(circumference))
## `summarise()` has grouped output by 'age'. You can override using the `.groups`
## argument.
p_bar <- ggplot(orange_bar_data, aes(x = as.factor(age), y = circumference, fill = as.factor(Tree))) +
geom_bar(stat = "identity") +
labs(title = "Stacked Bar Plot: Circumference by Age and Tree", x = "Age", y = "Circumference") +
scale_fill_discrete(name = "Tree") +
theme_minimal()
ggplotly(p_bar)
Grafik stacked bar ini menunjukkan pertumbuhan keliling batang pohon seiring bertambahnya umur. Setiap warna mewakili pohon yang berbeda, dan tinggi total dari setiap batang menunjukkan keliling keseluruhan pada usia tertentu. Dari usia ke usia, terlihat bahwa semua pohon mengalami pertumbuhan, namun ada variasi kontribusi antar pohon terhadap total keliling. Pohon dengan warna ungu dan biru tampaknya memiliki pertumbuhan keliling yang dominan, terutama pada usia lanjut, sementara pohon berwarna hijau dan merah menunjukkan kontribusi yang lebih kecil. Grafik ini menggambarkan bagaimana setiap pohon memiliki pola pertumbuhan yang berbeda, dengan sebagian pohon tumbuh lebih pesat dibanding lainnya seiring bertambahnya umur.
Data Lake Huron adalah dataset yang berisi serangkaian data yang merekam ketinggian permukaan air di Danau Huron (salah satu dari Lima Danau Besar di Amerika Utara) dalam satuan kaki. Data ini mencakup periode tahunan dari tahun 1875 hingga 1972, sehingga terdapat 98 observasi. Ketinggian air diukur setiap tahun untuk memberikan gambaran tentang fluktuasi jangka panjang dalam permukaan air Danau Huron.
lakehuron <- data.frame(
time = time(LakeHuron),
LakeHuron = as.numeric(LakeHuron)
)
View(lakehuron)
str(lakehuron)
## 'data.frame': 98 obs. of 2 variables:
## $ time : Time-Series from 1875 to 1972: 1875 1876 1877 1878 1879 ...
## $ LakeHuron: num 580 582 581 581 580 ...
linelakehuron <- plot_ly(data = lakehuron,
x = ~time,
y = ~LakeHuron,
type = 'scatter',
mode = 'lines')
linelakehuron
Dari grafik ini Terlihat jelas bahwa ketinggian air mengalami fluktuasi yang signifikan sepanjang periode yang diamati, dengan puncak tertinggi sekitar tahun 1880 yang mencapai hampir 582 kaki. Setelah itu, ketinggian air mengalami berbagai penurunan dan kenaikan, dengan pola fluktuasi yang tetap terlihat hingga tahun 1960-an. Pola ini mengindikasikan adanya siklus alami atau faktor-faktor tertentu yang mempengaruhi ketinggian air danau sepanjang waktu.
histogramlakehuron <- plot_ly(data = lakehuron,
x = ~LakeHuron,
type = "histogram",
name = "LakeHuron Histogram",
xbins = list(size = 1)) %>%
layout(title = "Histogram of Lake Huron Levels",
xaxis = list(title = "Lake Huron Levels"),
yaxis = list(title = "Frequency"))
histogramlakehuron
Grafik histogram ini menggambarkan distribusi frekuensi ketinggian air Danau Huron. Pada histogram ini, terlihat bahwa rentang ketinggian air terbanyak berada di sekitar 579 kaki, menunjukkan bahwa ketinggian ini merupakan yang paling sering terjadi. Frekuensi ketinggian di atas dan di bawah angka ini lebih sedikit, menunjukkan bahwa fluktuasi ekstrem jarang terjadi dan kebanyakan ketinggian air berpusat di nilai rata-rata tersebut.
boxplotlakehuron <- plot_ly(
data = lakehuron,
y = ~LakeHuron,
type = "box"
) %>%
layout(
xaxis = list(title = "Year")
)
boxplotlakehuron
Grafik boxplot ini menggambarkan distribusi data ketinggian air Danau Huron berdasarkan tahun. Dalam box plot ini, batas bawah kotak mewakili kuartil pertama (Q1), sedangkan batas atas kotak menunjukkan kuartil ketiga (Q3), yang menunjukkan rentang interkuartil atau 50% data tengah. Garis di dalam kotak adalah median (kuartil kedua, Q2) yang menunjukkan titik tengah distribusi data. Pada grafik ini, median berada di sekitar nilai 579. Whiskers, atau garis vertikal di atas dan di bawah kotak, menunjukkan rentang data yang berada dalam 1,5 kali interkuartil range (IQR) dari Q1 dan Q3, dengan whisker teratas mencapai sekitar 582 dan whisker terbawah mencapai 576. Ini menunjukkan bahwa ketinggian air sebagian besar berkisar antara 576 hingga 582, dengan variasi yang kecil di sekitar median, yang mencerminkan tingkat fluktuasi yang relatif stabil.
Data presidents adalah dataset yang berisi peringkat kepuasan publik terhadap presiden Amerika Serikat setiap kuartal dari tahun 1945 hingga 1974. Data ini mencatat skor kepuasan (approval ratings) dalam skala 0 hingga 100 untuk masing-masing kuartal dalam periode waktu tersebut. Setiap nilai dalam dataset ini merepresentasikan hasil survei opini publik yang diambil secara berkala untuk mengukur tingkat persetujuan terhadap kebijakan dan kinerja presiden yang sedang menjabat. Karena data ini dalam bentuk deret waktu (time series), presidents sangat berguna untuk analisis tren kepuasan publik terhadap presiden AS di tengah berbagai peristiwa politik dan sosial pada era tersebut.
data=read.table(file.choose(),sep=",", header=TRUE)
colnames(data)[1] <- "Tahun"
boxplot(data$Qtr1, main = "Boxplot Qtr1")
boxplot(data$Qtr2, main = "Boxplot Qtr2")
boxplot(data$Qtr3, main = "Boxplot Qtr3")
boxplot(data$Qtr4, main = "Boxplot Qtr4")
box plot ini menggambarkan distribusi tingkat kepuasan publik terhadap
Presiden di Amerika Serikat pada setiap kuartal. Secara umum, persebaran
data menunjukkan bahwa median kepuasan publik berkisar antara 55 hingga
65 di setiap kuartal, dengan rentang distribusi yang cukup konsisten.
Kotak abu-abu di setiap box plot menunjukkan rentang antara kuartil
pertama (Q1) dan kuartil ketiga (Q3), yang merupakan 50% data utama
kepuasan publik. Whiskers memperlihatkan variasi data di luar rentang
ini hingga ke titik ekstrim yang masih dianggap normal, dengan nilai
terendah sekitar 30-an dan tertinggi di kisaran 80. Hal ini menunjukkan
adanya fluktuasi dalam tingkat kepuasan publik, meskipun mayoritas
responden tetap berada dalam rentang yang relatif stabil dari kuartal ke
kuartal. Tidak terdapat outlier yang ekstrem, menunjukkan bahwa persepsi
publik terhadap Presiden cukup terjaga di angka yang konsisten sepanjang
tahun.
data$Tahun <- as.numeric(data$Tahun)
data$Qtr1 <- as.numeric(data$Qtr1)
data$Qtr2 <- as.numeric(data$Qtr2)
data$Qtr3 <- as.numeric(data$Qtr3)
data$Qtr4 <- as.numeric(data$Qtr4)
kuartal_data <- as.matrix(data[, c("Qtr1", "Qtr2", "Qtr3", "Qtr4")])
matplot(data$Tahun, kuartal_data, type = "l", lty = 1, col = c("blue", "red", "green", "purple"),
xlab = "Tahun", ylab = "Nilai", main = "Perkembangan Nilai Kuartal", ylim = c(0, 100))
Grafik ini menunjukkan fluktuasi tingkat kepuasan publik terhadap
Presiden di Amerika Serikat dari tahun 1945 hingga 1970, yang dibagi
berdasarkan nilai kuartal. Terlihat ada pola naik-turun yang cukup
konsisten, dengan beberapa lonjakan dan penurunan tajam di periode
tertentu, misalnya di awal 1950-an dan pertengahan 1960-an. Setiap garis
berwarna berbeda menandakan perubahan per kuartal, di mana kita bisa
melihat bahwa meskipun ada perbedaan di antara kuartal, mereka cenderung
mengikuti tren yang serupa. Ini menggambarkan bagaimana tingkat kepuasan
publik memiliki pola yang dipengaruhi oleh kondisi atau peristiwa
tertentu yang terjadi pada periode tersebut, dengan tren yang terus
berubah dari waktu ke waktu namun tetap dalam kisaran yang hampir
sama.
data_long <- tidyr::pivot_longer(data, cols = Qtr1:Qtr4, names_to = "Kuartal", values_to = "Nilai")
ggplot(data_long, aes(x = Tahun, y = Nilai, fill = Kuartal)) +
geom_col(position = "stack") +
labs(x = "Tahun", y = "Nilai", fill = "Kuartal") +
ggtitle("Stacked Barplot Nilai per Kuartal")
Grafik stacked bar plot ini menunjukkan perkembangan nilai kepuasan
publik terhadap Presiden di Amerika Serikat dari tahun 1945 hingga 1970,
dengan setiap batang dibagi berdasarkan kuartal (Qtr1 hingga Qtr4).
Setiap warna merepresentasikan kuartal yang berbeda, dan ketinggian
total dari setiap batang menggambarkan jumlah nilai kepuasan tahunan.
Terlihat bahwa di pertengahan tahun 1950-an hingga awal 1960-an, total
nilai mencapai puncaknya, sementara pada akhir tahun 1940-an dan setelah
tahun 1965, nilai kepuasan cenderung menurun. Tren ini mencerminkan
bagaimana setiap kuartal memberikan kontribusi yang bervariasi dalam
setiap tahun, dengan fluktuasi yang menunjukkan periode-periode tertentu
di mana kepuasan publik mungkin terpengaruh oleh peristiwa politik atau
ekonomi. Secara keseluruhan, grafik ini memberikan gambaran komprehensif
tentang perubahan tingkat kepuasan dari waktu ke waktu dan bagaimana
kontribusi dari setiap kuartal memengaruhi hasil tahunan.