Analisis Statistika dengan R dan ggplot2

Analisis Statistika dengan R dan ggplot2

Dalam analisis statistika, salah satu metode yang paling populer adalah membuat plot grafis untuk memvisualisasikan data. Salah satu jenis plot yang paling sering digunakan adalah scatterplot (plot titik). Scatterplot digunakan untuk menampilkan hubungan antara dua variabel dengan menggunakan koordinat x dan y.

Dalam tutorial ini, kita akan membahas cara membuat scatterplot menggunakan R dan library ggplot2. Kita akan membuat plot yang berisi scatterplot dari data sepal width dan sepal length beberapa tanaman.

Langkah 1: Buat DataFrame

Pertama-tama, kita perlu memiliki sebuah dataframe (dataset) yang berisi data yang ingin kita analisis. Pada contoh ini, kita menggunakan dataset iris yang terdiri atas sepal width, sepal length, petal width, dan petal length.

Langkah 2: Tambahkan Scatterplot

Setelah memiliki dataframe, kita perlu menentukan variabel apa yang akan digunakan sebagai x dan y axis. Kemudian, kita menggunakan fungsi geom_point() untuk menambahkan scatterplot ke plot.

Langkah 3: Buat Plot Berisi Multiple Sub-Plot

Selain membuat scatterplot individual, kita juga dapat membuat plot berisi multiple sub-plot dengan menggunakan library gridExtra. Kita dapat menggunakan fungsi grid.arrange() untuk mengatur posisi dan ukuran masing-masing sub-plot.

Contoh 1: Membuat Scatterplot dengan ggplot2

Berikut adalah contoh bagaimana kita membuat scatterplot menggunakan R dan ggplot2:

library(ggplot2)

# Buat dataframe iris
df <- iris

# Buat scatterplot
scatterPlot <- ggplot(df, aes(x, y, color=group)) + 
 geom_point() + 
 scale_color_manual(values = c('#999999','#E69F00')) + 
 theme(legend.position=c(0,1), legend.justification=c(0,1))
scatterPlot

# Membuat plot marginal density untuk x
xdensity <- ggplot(df, aes(x, fill=group)) + 
 geom_density(alpha=.5) + 
 scale_fill_manual(values = c('#999999','#E69F00')) + 
 theme(legend.position = "none")
xdensity

# Membuat plot marginal density untuk y
ydensity <- ggplot(df, aes(y, fill=group)) + 
 geom_density(alpha=.5) + 
 scale_fill_manual(values = c('#999999','#E69F00')) + 
 theme(legend.position = "none")
ydensity

# Membuat plot kosong untuk menempatkan sub-plot lain
blankPlot <- ggplot()+geom_blank(aes(1,1))+
 theme(plot.background = element_blank(), 
 panel.grid.major = element_blank(),
 panel.grid.minor = element_blank(), 
 panel.border = element_blank(),
 panel.background = element_blank(),
 axis.title.x = element_blank(),
 axis.title.y = element_blank(),
 axis.text.x = element_blank(), 
 axis.text.y = element_blank(),
 axis.ticks = element_blank()
 )

# Tempatkan sub-plot lain
grid.arrange(xdensity, blankPlot, scatterPlot, ydensity, ncol=2, nrow=2, widths=c(4, 1.4), heights=c(1.4, 4))

Contoh 2: Membuat Scatterplot dengan Customization

Berikut adalah contoh bagaimana kita membuat scatterplot dengan customization:

# Buat scatter plot basic
ggplot(mtcars, aes(x=wt, y=mpg)) + 
 geom_point()+
 geom_smooth(method=lm, color="black")+
 labs(title="Miles per gallon \n according to the weight",
 x="Weight (lb/1000)", y = "Miles/(US) gallon")+
 theme_classic() 

# Tambahkan warna dan bentuk berbeda untuk group
p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) + 
 geom_point()+
 geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
 labs(title="Miles per gallon \n according to the weight",
 x="Weight (lb/1000)", y = "Miles/(US) gallon")
p + theme_classic() 

# Ganti warna secara manual
# Warna kontinu
p + scale_color_brewer(palette="Paired") + theme_classic()
# Warna diskret
p + scale_color_brewer(palette="Dark2") + theme_classic()

Dengan demikian, kita dapat membuat scatterplot yang sesuai dengan kebutuhan kita dan menampilkan hubungan antara dua variabel dengan menggunakan R dan ggplot2.