library(ggplot2)
data("Indometh")
head(Indometh)
dim(Indometh)
## [1] 66  3

Histogram

Histogram digunakan untuk melihat panjang plot dari distribusi variabel concentration obat Indomethacin dalam plasma darah dari subjek penelitian setelah pemberian dosis oral.

ggplot(data = Indometh, mapping = aes(x = conc)) + 
  geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

ggplot(data = Indometh, mapping = aes(x = conc)) + 
  geom_histogram(bins = 80)

ggplot(data = Indometh, mapping = aes(x = conc)) + 
  geom_histogram(bins = 80, color = "skyblue")

library(scales)
ggplot(data = Indometh, mapping = aes(x = conc)) + 
  geom_histogram(bins = 30, color = "skyblue", fill = "yellow") + 
  scale_x_continuous(labels = comma) + 
  scale_y_continuous(labels = comma) + 
  labs(x = "concentration", 
       y = "frekuensi")

Desnity Plot

Density plot digunakan untuk melihat probabilitas panjang dari distribusi variabel concentration obat Indomethacin dalam plasma darah dari subjek penelitian setelah pemberian dosis oral.

ggplot(data = Indometh, mapping = aes(x = conc)) + 
  geom_density()

ggplot(data = Indometh, mapping = aes(x = conc)) + 
  geom_density(fill = "skyblue", alpha = 0.7) + 
  scale_x_continuous(labels = comma) + 
  scale_y_continuous(labels = comma) + 
  labs(x = "concentration")

ggplot(data = Indometh, mapping = aes(x = conc, fill = Subject, color = Subject)) + 
  geom_density(alpha = 0.7) + 
  scale_x_continuous(labels = comma) + 
  scale_y_continuous(labels = comma) + 
  labs(x = "concentration")

library(ggridges)
## Warning: package 'ggridges' was built under R version 4.4.3
ggplot(data = Indometh, mapping = aes(x = conc, y= Subject,fill = Subject)) + 
  geom_density_ridges() + 
  labs(x = "concentration", y = "subject")
## Picking joint bandwidth of 0.276

Boxplot

Boxplot digunakan membandingkan distribusi variabel concentration obat Indomethacin dalam plasma darah dari subjek penelitian setelah pemberian dosis oral.

ggplot(data = Indometh, mapping = aes(x = conc)) + 
  geom_boxplot()

ggplot(data = Indometh, mapping = aes(x = conc)) + 
  geom_boxplot()+
  coord_flip()

ggplot(data = Indometh, mapping = aes(x = conc, y = Subject)) + 
  geom_boxplot()

ggplot(data = Indometh, mapping = aes(x = conc, y = Subject, fill = Subject)) + 
  geom_boxplot()

ggplot(data = Indometh, mapping = aes(x = conc, y = Subject, fill = Subject)) + 
  geom_boxplot() + 
  theme(legend.position = "none")

Violin Plot

Violin plot digunakan untuk melihat panjang distribusi variabel concentration obat Indomethacin dalam plasma darah dari subjek penelitian setelah pemberian dosis oral dengan menampilkan kepadatan data seperti density plot.

ggplot(data = Indometh, mapping = aes(x = conc,y="all")) +
  geom_violin(fill="skyblue",alpha=0.5) +
  geom_boxplot(fill="white",width=0.1) +
  scale_x_continuous(labels = comma) 

## QQ-Plot

QQ plot digunakan untuk memeriksa apakah panjang dari distribusi variabel concentration obat Indomethacin dalam plasma darah dari subjek penelitian setelah pemberian dosis oral telah mengikuti distribusi normal.

ggplot(data = Indometh, aes(sample = conc)) +
  stat_qq(col="blue", cex=0.9) +
  stat_qq_line(col="red", lwd=1)

Scatter plot

Scatter plot digunakan untuk melihat apakah terdapat hubungan antara waktu dengan concentration yang diberikan pada obat Indomethacin dalam plasma darah dari subjek penelitian setelah pemberian dosis oral.

ggplot(data = Indometh, mapping = aes(x = conc, y = time)) + 
  geom_point()

ggplot(data = Indometh, mapping = aes(x = conc, y = time, color = Subject)) + 
  geom_point()

Line chart

Line chart digunakan untuk melihat trend perubahan harga tesla yang tertinggi dari waktu ke watu dan membandingkanya dengan harga terendah.

Input Data

Datasets ini berisi data historis harga tesla dari tahun 2010 sampai dengan tahun 2022.

tesla <- read.csv("C:/Users/Lenovo IP Slim 3/Downloads/TSLA.csv",sep = ",")
tesla$tanggal <- as.Date.character(tesla$Date,"%Y-%m-%d")
head(tesla)
str(tesla)
## 'data.frame':    2956 obs. of  8 variables:
##  $ Date     : chr  "2010-06-29" "2010-06-30" "2010-07-01" "2010-07-02" ...
##  $ Open     : num  3.8 5.16 5 4.6 4 ...
##  $ High     : num  5 6.08 5.18 4.62 4 ...
##  $ Low      : num  3.51 4.66 4.05 3.74 3.17 ...
##  $ Close    : num  4.78 4.77 4.39 3.84 3.22 ...
##  $ Adj.Close: num  4.78 4.77 4.39 3.84 3.22 ...
##  $ Volume   : int  93831500 85935500 41094000 25699000 34334500 34608500 38557000 20253000 11012500 13400500 ...
##  $ tanggal  : Date, format: "2010-06-29" "2010-06-30" ...

Line chart Dasar

Line chart dasar digunakan untuk menampilkan pergerakan harga tertinggi tesla dari waktu ke waktu.

ggplot(data = tesla, aes(x=tanggal,y=High)) +
  geom_line() +
  labs(x="Waktu", y="Harga")

Area Plot

Area plot digunakan untuk menambah nilai keestetikan dengan cara mengarsir daerah dibawah plot deret waktu.

ggplot(data = tesla, aes(x=tanggal,y=Open)) +
  geom_line(lwd=1.2, col="skyblue") +
  geom_area(fill="blue", alpha=0.3)

  labs(x="waktu", y="Harga")
## $x
## [1] "waktu"
## 
## $y
## [1] "Harga"
## 
## attr(,"class")
## [1] "labels"

Multiple Line Chart

Pada plot ini digunakan untuk membandingkan trend data deret waktu pada kelompok harga tertinggi dan harga terendah tesla.

ggplot(data = tesla, aes(x=tanggal)) +
  geom_line(aes(y=High), lwd=1.2, col="blue") +
  geom_line(aes(y=Low), lwd=1.2, col="red") +
  labs(x="waktu", y="harga") 

Menambahkan nama kelompok

ggplot(data = tesla, aes(x=tanggal)) +
  geom_line(aes(y=High), lwd=1.2, col="blue") +
  geom_line(aes(y=Low), lwd=1.2, col="red") +
  xlim(min(tesla$tanggal),max(tesla$tanggal)+100) +
  geom_text(x=max(tesla$tanggal),y=tail(tesla$High,1)+30,
            label="High", size = 5,
            color="blue", hjust=-0.1) +
    geom_text(x=max(tesla$tanggal),y=tail(tesla$Low,1)+30,
            label="Low", size = 5,
            color="red", hjust=-0.1) +
  labs(x="tanggal", y="Harga")