Memplot Data dalam R (Scatter Plot)

# Membaca data dan menampilkannya
simpan = read.table("data3.1.csv", header=TRUE, sep=",")
simpan
##    jeniskelamin pendapatan pengeluaran
## 1     laki-laki          1         0.5
## 2     laki-laki          2         0.9
## 3     laki-laki          3         1.1
## 4     laki-laki          4         2.0
## 5     laki-laki          5         4.0
## 6     laki-laki          6         5.0
## 7     laki-laki          7         6.2
## 8     laki-laki          8         5.5
## 9     laki-laki          9         5.6
## 10    laki-laki         10         4.5
## 11    perempuan          1         0.7
## 12    perempuan          2         1.4
## 13    perempuan          3         2.8
## 14    perempuan          4         3.3
## 15    perempuan          5         4.3
## 16    perempuan          6         5.0
## 17    perempuan          7         6.7
## 18    perempuan          8         5.9
## 19    perempuan          9         5.7
## 20    perempuan         10         8.0
# Membuat scatter plot dasar
plot(simpan[2:3], main="Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan Rupiah")

Pendapatan = simpan$pendapatan
Pengeluaran = simpan$pengeluaran
plot(Pendapatan, Pengeluaran)

# Menggunakan ggplot2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.6.1
PENDAPATAN = simpan$pendapatan
PENGELUARAN = simpan$pengeluaran

qplot(PENDAPATAN, PENGELUARAN, main="Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan", 
      xlab="Pendapatan per-Bulan", ylab="Pengeluaran per-Bulan")
## Warning: `qplot()` was deprecated in ggplot2 3.4.0.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

jenis = simpan$jeniskelamin
qplot(PENDAPATAN, PENGELUARAN, main="Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan", 
      xlab="PENDAPATAN", ylab="PENGELUARAN", color=jenis, shape=jenis)

# Variasi kustomisasi dengan ggplot
grafik = ggplot(simpan, aes(pendapatan, pengeluaran)) + geom_point(aes(color=jenis, shape=jenis))
grafik + scale_colour_manual(values=c("blue", "orange")) + scale_shape_manual(values=c(16, 5))

grafik + geom_vline(xintercept=2.5) + geom_vline(xintercept=5)

grafik + geom_vline(xintercept=c(2.5, 5, 7.5), colour="green", linetype="longdash") + 
         geom_hline(yintercept=c(2, 4, 6), colour="red", linetype="longdash")

Menyajikan Data dengan Grafik Garis

# Membaca data
simpan = read.table("data3.2.csv", header=TRUE, sep=",")
simpan
##   tahun jenis.barang.A jenis.barang.B jenis.barang.C
## 1  2001             90             85             50
## 2  2002            110             90             55
## 3  2003            115            105             60
## 4  2004            130            110             65
## 5  2005            140            120             75
## 6  2006            155            125             80
## 7  2007            160            130             85
Tahun = simpan$tahun
Jumlah_A = simpan$jenis.barang.A
Jumlah_B = simpan$jenis.barang.B
Jumlah_C = simpan$jenis.barang.C

# Plot garis dasar
plot(Tahun, Jumlah_A, type="o", col="red", ylim=c(40,180))
lines(Tahun, Jumlah_B, type="o", pch=22, lty=2, col="blue")
lines(Tahun, Jumlah_C, type="o", pch=22, lty=2, col="green")

# Menambahkan Legend dan Judul
Total = Jumlah_A
plot.new()
plot(Tahun, Total, type="o", col="red", ylim=c(40,180))
lines(Tahun, Jumlah_B, type="o", col="blue", lty=23)
lines(Tahun, Jumlah_C, type="o", col="green", lty=23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"), 
       cex=0.8, col=c("red", "blue", "green"), lty=30)
title(main="Penjualan Barang A, B, C, dari Tahun 2001-2007", col.main="red", font.main=4)

Menyajikan Data dengan Grafik Batang (Bagian Pertama)

# Membaca data
simpan = read.table("data3.3.csv", header=TRUE, sep=",")
simpan
##   tahun jenis.barang.A
## 1  2001             90
## 2  2002            110
## 3  2003            115
## 4  2004            130
## 5  2005            140
## 6  2006            155
## 7  2007            160
Tahun = simpan$tahun
Jumlah_A = simpan$jenis.barang.A

# Barplot dasar
barplot(Jumlah_A, Tahun, main="Penjualan Barang Jenis A dari Tahun 2001-2007", 
        xlab="Tahun", ylab="Jumlah Barang yang Terjual", 
        names.arg=c("2001", "2002", "2003", "2004", "2005", "2006", "2007"), col="lightblue")

# Barplot dengan ggplot2
library(ggplot2)
ggplot(data=simpan, aes(x=Tahun, y=Jumlah_A)) + geom_bar(stat="identity", fill=heat.colors(7))

Menyajikan Data dengan Grafik Batang (Bagian Kedua)

# Membaca data multivariabel
simpan = read.table("data3.4.csv", header=TRUE, sep=",")
## Warning in read.table("data3.4.csv", header = TRUE, sep = ","): incomplete
## final line found by readTableHeader on 'data3.4.csv'
simpan
##   Jenis.Kelamin     Hobi Jumlah
## 1     Laki-Laki Olahraga     90
## 2     Laki-Laki  Memasak     10
## 3     Perempuan Olahraga     25
## 4     Perempuan  Memasak     75
# Membuat barplot berdampingan (beside)
frekuensi = c(90, 10, 25, 75)
barplot(t(matrix(frekuensi, ncol=2, byrow=TRUE, 
                 dimnames=list(c("Laki-Laki", "Perempuan"), c("Olahraga", "Memasak")))), 
        main="Hubungan antara Jenis Kelamin dan Hobi", xlab="Jenis Kelamin", 
        col=c("darkblue", "orange"), beside=TRUE, ylim=c(0,150), legend.text=TRUE, 
        args.legend=list(x="topright"))

# Menggunakan ggplot2 untuk grouped bar chart
dat = data.frame(jenis_kelamin=factor(c("Laki-Laki", "Laki-Laki", "Perempuan", "Perempuan")), 
                 hobi=factor(c("Olahraga", "Memasak", "Olahraga", "Memasak"), levels=c("Olahraga", "Memasak")), 
                 total=c(80, 20, 40, 60))

ggplot(data=dat, aes(x=hobi, y=total, fill=jenis_kelamin)) + 
  geom_bar(stat="identity", position=position_dodge()) + 
  xlab("Hobi Mahasiswa") + ylab("Jumlah Mahasiswa") + 
  ggtitle("Universitas XYZ") + 
  geom_text(aes(y=total+4, label=total), position=position_dodge(width=1))

Menyajikan Data dengan Diagram Lingkaran

# Membaca data
simpan = read.table("data3.5.csv", header=TRUE, sep=",")
## Warning in read.table("data3.5.csv", header = TRUE, sep = ","): incomplete
## final line found by readTableHeader on 'data3.5.csv'
simpan
##   Produk Jumlah
## 1      A     12
## 2      B      5
## 3      C      8
## 4      D     20
# Membuat Pie Chart Dasar
colors = c("darkblue", "orange", "yellow", "red")
Persen = round(simpan$Jumlah / sum(simpan$Jumlah) * 100, 2)
Persen = paste(Persen, "%", sep="")

pie(simpan$Jumlah, labels=Persen, main="Data Penjualan Produk A, B, C, dan D", col=colors)
legend(1, 0.5, c("Produk A", "Produk B", "Produk C", "Produk D"), cex=0.8, fill=colors)

Menyajikan Data dengan Histogram

# Membaca data
simpan = read.csv("IQ.csv", header=TRUE)
simpan_skor_IQ = simpan$IQ

# Histogram Dasar
hist(simpan_skor_IQ, col="lightblue", main="Contoh Histogram", ylab="Frekuensi")

# Histogram Kustom
hist(simpan_skor_IQ, col=heat.colors(6), ylim=c(0,30), main="Contoh Histogram", 
     ylab="Frekuensi", breaks=c(90, 95, 100, 105, 110, 115, 120), xlim=c(90, 125))

# Histogram menggunakan ggplot2
library(ggplot2)
ggplot(data=simpan, aes(IQ)) + 
  geom_histogram(breaks=c(90, 95, 100, 105, 110, 115, 120), col="darkblue", fill=heat.colors(6)) + 
  labs(title="Contoh Histogram", x="IQ", y="Jumlah") + 
  xlim(c(90, 125)) + ylim(c(0, 30))