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))
