Rabu, 03 Februari 2016

VIOLING PLOTS-GROUPED VIOLIN PLOTS WITH SPLIT VIOLIN

Memenuhi Tugas Softskill (Desain Permodelan Grafik) Semester 5 (2015/2016)

Pembahasan : Violing plots-Grouped violin plots with split violin
Mata Kuliah : Desain Permodelan Grafik

Cover buku Depan&Belakang

KATA PENGANTAR

Puji syukur kehadirat Allah SWT atas limpahan rahmat dan karunianya sehingga Buku Violing Plot-Grouped violinplots with split violins telah dapat diselesaikan. Buku ini merupakan tugas softskill sebagai pedoman bagi mahasiswa Program Teknik Informatika dalam pembelajaran softskill serta memberikan petunjuk praktis agar mahasiswa mendapatkan gambaran secara jelas dalam menyelesaikan penulisan tersebut.
Terimakasih disampaikan kepada Bapak Dr. rer. nat. I Made Wiryana, SKom, SSi, MAppSc selaku dosen pembimbing softskill. Terimakasih juga disampaikan kepada kelas 3ia15 atas kontribusi dalam penyempurnaan buku ini. Terimakasih kepada kelompok 9 softskill kelas 3ia15 yang telah berkontribusi dalam editing dan semua pihak yang telah ikut membantu dalam penyelesaian buku ini.
Kami menyadari masih terdapat kekurangan dalam buku ini untuk itu kritik dan saran terhadap penyempurnaan buku ini sangat diharapkan. Semoga buku ini dapat memberi maanfaat bagi mahasiswa Teknik Informatika khususnya dan bagi semua pihak yang membutuhkan.
Jakarta, 25 Januari 2016
Kellas 3ia15
Kelompok 9
Bab 1

Pendahuluan

 Latar Belakang

violin plot berguna untuk membandingkan distribusi. Ketika data dikelompokkan oleh faktor dengan dua tingkat (misalnya laki-laki dan perempuan), Anda dapat split dua violin untuk melihat perbedaan antara kelompok. Pertimbangkan percobaan faktorial 2 x 2: perawatan A dan B disilangkan dengan kelompok 1 dan 2, dengan N = 1000.
# Simulate data
n.each <- 1000
A1 <- rnorm(n.each, 2, 1)
A2 <- rnorm(n.each, 1.5, 2)
B1 <- rnorm(n.each, 4, 1.5)
B2 <- rnorm(n.each, 0, 1)
values <- c(A1, A2, B1, B2) treatment <- rep(c(“A”, “B”), each=n.each*2)
group <- rep(c(1, 2, 1, 2), each=n.each)
Boxplots sering digunakan: par (bty = “n”) boxplot (nilai ~ kelompok * pengobatan, main = “Box plot”, col = r (c (“ungu”, “biru muda”), 2))
image: 0D__Tugas_lyx_pasted1.eps
Gambar ini memberi kita perbandingan kasar dari distribusi di masing-masing kelompok, tapi kadang-kadang itu bagus untuk memvisualisasikan perkiraan kepadatan kernel sebagai gantinya.Dengan ggplot2 (), argumen sisi menentukan apakah untuk merencanakan kepadatan pada “kanan”, “kiri”, atau “kanan”.
require(vioplot)
require(devtools)
require(digest)
plot(x=NULL, y=NULL,
xlim = c(0.5, 2.5), ylim=c(min(values), max(values)),
type=”n”, ann=FALSE, axes=F)
axis(1, at=c(1, 2), labels=c(“A”, “B”))
axis(2)
for (i in unique(treatment)) {
for (j in unique(group)){
vioplot2(values[which(treatment == i & group == j)],
at = ifelse(i == “A”, 1, 2),
side = ifelse(j == 1, “left”, “right”),
col = ifelse(j == 1, “purple”, “lightblue”),
add = T)
}
}
title(“Violin plot”, xlab=”Treatment”)
legend(“bottomright”, fill = c(“purple”, “lightblue”),
legend = c(“Group 1”, “Group 2”), box.lty=0)

 Tujuan Penulisan

Buku ini disusun dengan tujuan :
1. Memahami bagaimana konsep dasar violin plot
2. Memahami pengelompokkan violin plot dengan split violin
3. Memahami penggunaan software yang digunakan violin plot
4. Menambah pengetahuan mengenai violin plot
5.Sebagai tugas kelompok mata kuliah softskill

 Perumusan Masalah

1. Bagaimana konsep dasar violin plot?
2. Apa saja yang ada dalam violin plot?
3. Bagaimana pengelompokkan violin plot dengan split violin?
Bab 2

Violing Plot – Grouped violinplots with split violins

 Menggambar violin plot

image: 1D__Tugas_lyx_pasted2.eps
Paket boxplot Peter Kamstra menggunakan boxplot () untuk membuat plot kepadatan split, tapi 1) plot karpet daripada kotak kuantil, 2) mencakup garis untuk mean keseluruhan atau median, dan 3) membuat lebih mudah untuk mengubah fungsi kernel.
require(beanplot)
beanplot(values ~ group*treatment, ll = 0.04,
main = “Bean plot”, side = “both”, xlab=”Treatment”,
col = list(“purple”, c(“lightblue”, “black”)),
axes=F)
axis(1, at=c(1, 2), labels=c(“A”, “B”)) axis(2)
legend(“bottomright”, fill = c(“purple”, “lightblue”),
legend = c(“Group 1”, “Group 2”), box.lty=0)
image: 2D__Tugas_lyx_pasted3.eps
Ada lebih dari satu cara untuk skin a cat, dan apa yang digunakan mungkin akan masuk ke preferensi pribadi.
Seaborn.violin plot (x = None, x = None, warna = None, data = None, order = Tidak ada, agar warna = None, bw = ‘scott’, potong = 2, skala = ‘daerah’, scale_warna = True, gridsize = 100, lebar = 0,8, ‘kotak’ = batin, split = False, orientasi = None, linewidth = Tidak ada, warna = None, palet = None, saturasi = 0,75, kapak = None, ** kwargs) Menggambar kombinasi boxplot dan estimasi densitas kernel. Sebuah violin plot memainkan peran yang sama sebagai plot dan whisker plots. Ini menunjukkan distribusi data kuantitatif di beberapa tingkat satu (atau lebih) variabel kategori seperti bahwa mereka distribusi dapat dibandingkan. Tidak seperti plotbox, di mana semua komponen rencana sesuai dengan data points yang sebenarnya, violin plot memiliki estimasi densitas kernel dari distribusi yang mendasarinya. Hal ini dapat menjadi cara yang efektif dan menarik untuk menampilkan beberapa distribusi data sekaligus, namun perlu diingat bahwa prosedur estimasi dipengaruhi oleh ukuran sampel, dan violin untuk sampel yang relatif kecil mungkin terlihat menyesatkan halus. Input data dapat dikirimkan dalam berbagai format, termasuk: Vektor data direpresentasikan sebagai daftar, array numpy, atau benda panda Series lulus langsung dengan parameter x, y, dan / atau warna. Sebuah “bentuk panjang” DataFrame, dalam hal ini x, y, dan variabel warna akan menentukan bagaimana data diplot. A “wide-bentuk” DataFrame, sehingga setiap kolom numerik akan diplot. Apa pun diterima oleh plt.boxplot (misalnya array 2d atau daftar vektor) Dalam kebanyakan kasus, adalah mungkin untuk menggunakan numpy atau Python objek, tetapi objek pada phyton lebih disukai karena nama-nama yang terkait akan digunakan untuk mendefinisikan keterangan sumbu. Selain itu, Anda dapat menggunakan jenis kategori untuk variabel pengelompokan untuk mengontrol urutan elemen plot. Parameter: x, y, warna, nama variabel dalam data atau data vektor, Input opsional untuk merencanakan data formulir panjang. Lihat contoh untuk interpretasi Data yaitu DataFrame Tidy (“bentuk panjang”) dataframe mana setiap kolom adalah variabel dan setiap baris adalah pengamatan. order, warna_order, daftar string, Orde opsional untuk merencanakan tingkat kategoris dalam, jika tingkat yang disimpulkan dari objek data. bw: {‘scott’, ‘silverman’, float}, opsional Entah nama aturan referensi atau faktor skala untuk digunakan saat menghitung bandwidth kernel. Ukuran kernel yang sebenarnya akan ditentukan dengan mengalikan faktor skala dengan standar deviasi dari data dalam setiap bin dipotong float, opsional Jarak, dalam satuan ukuran bandwidth, untuk memperpanjang kepadatan masa lalu datapoints ekstrim. Set ke 0 untuk membatasi rentang violin dalam kisaran data yang diamati (yaitu, memiliki efek yang sama seperti langsing = True dalam skala ggplot:. {“Daerah”, “menghitung”, “width”}, opsional Metode yang digunakan untuk skala lebar setiap violin. Jika daerah, masing-masing violin akan memiliki area yang sama. Jika jumlah, lebar violin akan ditingkatkan dengan jumlah pengamatan di bin itu. Jika lebar, masing-masing violin akan memiliki lebar yang sama. scale_warna: bool, opsional Ketika bersarang violin menggunakan variabel rona, parameter ini menentukan apakah scaling dihitung dalam setiap tingkat variabel pengelompokan utama (scale_warna = True) atau di semua violin pada plot (scale_warna = False) gridsize. int Jumlah opsional poin di grid diskrit digunakan untuk menghitung estimasi kepadatan kernel width:.. float, Lebar opsional dari elemen penuh saat tidak menggunakan rona bersarang, atau lebar semua elemen untuk satu tingkat dari variabel pengelompokan utama dalam : {“kotak”, “kuartil”, “titik”, “tongkat”, ada}, Perwakilan opsional dari datapoints di pedalaman violin. Jika kotak, menggambar boxplot miniatur. Jika kuartil, menarik kuartil dari distribusi. Jika titik atau tongkat, menunjukkan setiap datapoint yang mendasari. Menggunakan Tidak akan menarik violin tanpa hiasan. perpecahan: bool, opsional Bila menggunakan rona bersarang dengan variabel yang mengambil dua tingkat, pengaturan split Benar akan menarik setengah dari violin untuk setiap tingkat. Hal ini dapat membuat lebih mudah untuk langsung membandingkan distribusi. orient: “v” | “H”, Orientasi opsional plot (vertikal atau horizontal). Ini biasanya disimpulkan dari type variabel input, tetapi dapat digunakan untuk menentukan kapan “kategoris” variabel adalah lebar bentuk data numerik atau ketika merencanakan. linewidth,float, Lebar opsional garis abu-abu yang membingkai elemen plot. warna: warna matplotlib, Warna opsional untuk semua elemen, atau benih untuk light_palette () bila menggunakan warna bersarang. palet: palet warna Seaborn atau dict, Warna opsional untuk digunakan untuk berbagai tingkat variabel rona. Harus sesuatu yang bisa ditafsirkan oleh color_palette (), atau tingkat pemetaan rona kamus matplotlib warna. saturasi: float, Proporsi opsional saturasi asli untuk menggambar warna pada. Patch besar sering terlihat lebih baik dengan warna sedikit desaturated, tetapi mengatur ini untuk 1 jika Anda ingin warna rencana untuk sempurna sesuai spec warna masukan. kapak: Matplotlib Axes, Axes opsional keberatan untuk menarik plot ke, jika tidak menggunakan Axes saat ini. Pengembalian: kapak: Matplotlib Axes Mengembalikan objek Axes dengan boxplot ditarik ke atasnya. Lihat juga boxplot Sebuah plot kotak-dan-kumis tradisional dengan API yang sama. stripplot A sebar di mana satu variabel kategoris. Dapat digunakan dalam hubungannya dengan plot lain untuk menunjukkan setiap pengamatan. Contoh Menggambar violinplot horizontal tunggal:
>>> import seaborn as sns
>>> sns.set_style(“whitegrid”)
>>> tips = sns.load_dataset(“tips”)
>>> ax = sns.violinplot(x=tips[“total_bill”])

2.1.1 Violinplot horizontal tunggal

image: 3D__Tugas_lyx_pasted4.eps

2.1.2 Violin plot vertikal

Menggambar violin plot vertikal dikelompokkan berdasarkan variabel kategoris:
>>> ax = sns.violinplot(x=”day”, y=”total_bill”, data=tips)
image: 4D__Tugas_lyx_pasted5.eps

2.1.3 Violin plot bersarang

Menggambar violin plot dengan bersarang pengelompokan oleh dua variabel kategori:
>>> ax = sns.violinplot(x=”day”, y=”total_bill”, warna=”smoker”,
… data=tips, palette=”muted”)
image: 5D__Tugas_lyx_pasted7.eps

2.1.4 Violin untuk perbandingan

Menggambar violin dibagi untuk membandingkan seluruh variabel rona:
>>> ax = sns.violinplot(x=”day”, y=”total_bill”, warna=”smoker”,
… data=tips, palette=”muted”, split=True)
image: 6D__Tugas_lyx_pasted8.eps

2.1.5 Violin plot rangka

Mengendalikan violin plot rangka dengan menyortir data input:
>>> ax = sns.violinplot(x=”size”, y=”tip”, data=tips.sort(“size”))
image: 7D__Tugas_lyx_pasted9.eps

2.1.6 Violin plot dengan perintah eksplisit

Mengendalikan violin agar dengan melewati perintah eksplisit:
>>> ax = sns.violinplot(x=”size”, y=”tip”, data=tips,
… order=np.arange(1, 7), palette=”Blues_d”)
image: 8D__Tugas_lyx_pasted10.eps
Skala lebar violin dengan jumlah observasi di setiap bin:
>>> ax = sns.violinplot(x=”day”, y=”total_bill”, warna=”sex”,
… data=tips, palette=”Set2″, split=True,
… scale=”count”)
image: 9D__Tugas_lyx_pasted11.eps

2.1.7 Menggambar kuartil sebagai garis horizontal bukan mini-kotak

>>> ax = sns.violinplot(x=”day”, y=”total_bill”, warna=”sex”,
… data=tips, palette=”Set2″, split=True,
… scale=”count”, inner=”quartile”)
image: 10D__Tugas_lyx_pasted12.eps
Tampilkan setiap observasi dengan tongkat di dalam violin:
>>> ax = sns.violinplot(x=”day”, y=”total_bill”, warna=”sex”,
… data=tips, palette=”Set2″, split=True,
… scale=”count”, inner=”stick”)
image: 11D__Tugas_lyx_pasted13.eps
Skala kepadatan relatif terhadap jumlah seluruh sampah:
>>> ax = sns.violinplot(x=”day”, y=”total_bill”, warna=”sex”,
… data=tips, palette=”Set2″, split=True,
… scale=”count”, inner=”stick”, scale_warna=False)
image: 12D__Tugas_lyx_pasted14.eps

2.1.8 Menggunakan bandwidth sempit

Tujuannya adalah untuk mengurangi jumlah smoothing
>>> ax = sns.violinplot(x=”day”, y=”total_bill”, warna=”sex”,
… data=tips, palette=”Set2″, split=True,
… scale=”count”, inner=”stick”,
… scale_warna=False, bw=.2)
image: 13D__Tugas_lyx_pasted15.eps

2.1.9 Violin plot horizontal

>>> planets = sns.load_dataset(“planets”)
>>> ax = sns.violinplot(x=”orbital_period”, y=”method”,
… data=planets[planets.orbital_period < 1000],
… scale=”width”, palette=”Set3″)
image: 14D__Tugas_lyx_pasted16.eps

2.1.10 Violin plot pada sebuah FacetGrid

untuk kelompok dalam variabel kategoris tambahan:
>>> g = sns.FacetGrid(tips, col=”time”, size=4, aspect=.7)
>>> (g.map(sns.violinplot, “sex”, “total_bill”, “smoker”, split=True)
… .despine(left=True)
… .add_legend(title=”smoker”))
<seaborn.axisgrid.FacetGrid object at 0x…>
image: 15D__Tugas_lyx_pasted17.eps
ggplot2.violinplot adalah mudah untuk menggunakan fungsi-fungsi kustom untuk merencanakan dan menyesuaikan dengan mudah violin plot menggunakan ggplot2 dan software R. Fungsi ggplot2.violinplot adalah dari mudah paket ggplot2 R. Script R tersedia dalam bagian berikutnya untuk menginstal paket. violin plot mirip dengan kotak plot, kecuali bahwa mereka juga menunjukkan kepadatan probabilitas kernel dari data pada nilai yang berbeda. Biasanya violin plot akan mencakup penanda untuk median dari data dan kotak yang menunjukkan kisaran interkuartil, seperti dalam plot kotak standar (wiki). Tujuan dari tutorial ini adalah untuk menunjukkan Anda langkah demi langkah, bagaimana plot dan menyesuaikan violin plot menggunakan fungsi ggplot2.violin petak [paket ggplot2 mudah]. Pada akhir tutorial ini Anda akan dapat menarik, dengan beberapa kode R, plot berikut
image: 16D__Tugas_lyx_pasted18.eps
mudah ggplot2 R paket dapat diinstal sebagai berikut:
install.packages(“devtools”)
library(devtools)
install_github(“easyGgplot2”, “kassambara”)
Memuat paket menggunakan kode R ini:
library(easyGgplot2)

 Data format

Data harus menjadi vektor numerik atau data.frame sebuah (kolom dan baris adalah variabel adalah pengamatan).
Data ToothGrowth digunakan dalam contoh berikut.
# create a numeric vector numVector
<-rnorm(100)
head(numVector)
## [1] -1.089173 0.004361 0.650597 0.423704 1.147449 0.837064
data.frame df <- ToothGrowth head(df)
## len supp dose
## 1 4.2 VC 0.5
## 2 11.5 VC 0.5
## 3 7.3 VC 0.5
## 4 5.8 VC 0.5
## 5 6.4 VC 0.5
## 6 10.0 VC 0.5
ToothGrowth menggambarkan efek dari vitamin C pada pertumbuhan gigi di Guinea. Tanggapan adalah panjang (len) gigi di setiap dari 10 kelinci percobaan di masing-masing tiga tingkat dosis Vitamin C (0,5, 1, dan 2 mg) dengan masing-masing dua metode pengiriman (jus jeruk atau asam askorbat). Data adalah data frame dengan 60 pengamatan pada 3 variabel. * [, 1] len Tooth panjang numerik. * [, 2] Jenis faktor supp Tambahan (VC atau OJ). * [, 3] dosis Dosis numerik dalam miligram.

 Basic violin plot

# Violin plot from a single numeric vector ggplot2.violinplot(data=numVector)
# Basic violin plot from the vector “len” ggplot2.violinplot(data=df, xName=’dose’,yName=’len’)
# Change the orientation: Horizontal violin plot ggplot2.violinplot(data=df, xName=’dose’,yName=’len’, orientation=”horizontal”)
# set trim to FALSE. If TRUE (default), trim the tails of
# the violins to the range of the data.
#If FALSE, don’t trim the tails ggplot2.violinplot(data=df, xName=’dose’, yName=’len’, trim=FALSE)
image: 17D__Tugas_lyx_pasted19.eps

violin plot dengan rata-rata titik dan titik

Setiap titik mewakili satu observasi dan titik berarti sesuai dengan nilai rata-rata dari pengamatan di kelompok tertentu.
# Violin plot with mean point
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’, addMean=TRUE, meanPointShape=23, meanPointSize=3, meanPointColor=”black”, meanPointFill=”blue”)
#Violin plot with centered dots
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’, addDot=TRUE, dotSize=1, dotPosition=”center”)
# Violin plot with jittered dots.
#jitter: degree of jitter in x direction
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’, addDot=TRUE, dotSize=1.7, dotPosition=”jitter”, jitter=0.2)
image: 18D__Tugas_lyx_pasted20.eps

Mengubah violin petak jenis garis dan titik bentuk

Bentuk titik yang berbeda dan jenis garis dapat digunakan dalam plot. Secara default, ggplot2 menggunakan jenis garis padat dan bentuk lingkaran.
Bentuk titik yang berbeda di R dijelaskan di sini. Jenis garis yang tersedia akan ditampilkan di sini.
# Change the violin plot line color and line type
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’, colour=”red”, linetype=”dotted”)
image: 19D__Tugas_lyx_pasted21.eps

Menyesuaikan rencana violin

Parameters
Argumen yang dapat digunakan untuk menyesuaikan sumbu x dan y tercantum di bawah ini:

Parameters
Penjelasan
mainTitle
vektor dengan panjang 3 menunjukkan masing-masing ukuran, gaya (“miring”, “berani”, “bold.italic”) dan warna x dan y judul sumbu. Nilai default adalah: mainTitleFont = c (14, “berani”, “hitam”).
xShowTitle, yShowTitle
jika TRUE, sumbu x dan y judul akan ditampilkan. Set nilai ke FALSE untuk menyembunyikan label sumbu. Nilai default adalah BENAR.
xtitle, ytitle
x dan label sumbu y. Nilai default adalah NULL.
xtitleFont, ytitleFont
vektor dengan panjang 3 menunjukkan masing-masing ukuran, gaya dan warna x dan y judul sumbu. Nilai yang mungkin untuk gaya: “polos”, “miring”, “berani”, “bold.italic”. Warna dapat ditetapkan sebagai kode heksadesimal (misalnya: “# FFCC00”) atau dengan nama (misalnya: “merah”, “hijau”). Nilai default adalah xtitle Font = C14, “berani”, “hitam”), judul Font = C14, “berani”, “hitam”).
xlim, ylim
batas untuk sumbu x dan y. Nilai default adalah NULL.
xScale, yScale
x dan skala sumbu y. Kemungkinan nilai: c (“tidak ada”, “log2”, “log10”). mis: yScale = “log2”. Nilai default adalah NULL.
xShowTickLabel, yShowTickLabel
jika TRUE, sumbu x dan y tanda centang label akan ditampilkan. Nilai default adalah BENAR.
xTickLabelFont, yTickLabelFont
vektor dengan panjang 3 menunjukkan masing-masing ukuran, gaya dan warna sumbu x dan y label tick font. Nilai default adalah xTickLabel Font = c12, “berani”, “hitam”), xTickLabel Font = c12, “berani”, “hitam”).
xtickLabelRotation, ytickLabelRotation
Sudut rotasi dari x dan y label sumbu tick. Nilai default adalah 0.
hideAxisTicks
jika TRUE, kutu sumbu x dan y yang tersembunyi. Nilai default adalah SALAH.
axisLine
vektor dengan panjang 3 menunjukkan masing-masing ukuran, jenis garis dan warna garis sumbu. Nilai default adalah c (0,5, “solid”, “# e5e5e5”).

Judul utama dan sumbu label

# Change main title and axis titles
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
mainTitle=”Plot of length \n by dose”,
xtitle=”Dose (mg)”, ytitle=”Length”)
# Customize title styles. Possible values for the font style :
# ‘plain’, ‘italic’, ‘bold’, ‘bold.italic’.
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
xtitle=”Dose (mg)”, ytitle=”Length”, mainTitle=”Plot of length \n by dose”,
mainTitleFont=c(14,”bold.italic”, “red”),
xtitleFont=c(14,”bold”, “#993333”),
ytitleFont=c(14,”bold”, “#993333”))
# Hide x an y axis titles
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
xShowTitle=FALSE, yShowTitle=FALSE)
image: 20D__Tugas_lyx_pasted22.eps

Axis ticks

# Axis ticks labels and orientaion
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
xShowTitle=FALSE, yShowTitle=FALSE,
xTickLabelFont=c(14,”bold”, “#993333”),
yTickLabelFont=c(14,”bold”, “#993333”),
xtickLabelRotation=45, ytickLabelRotation=45)
# Hide axis tick labels
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
xShowTitle=FALSE, yShowTitle=FALSE,
xShowTickLabel=FALSE, yShowTickLabel=FALSE)
# Hide axis ticks ggplot2.
violinplot(data=df, xName=’dose’,yName=’len’,
xShowTitle=FALSE, yShowTitle=FALSE,
xShowTickLabel=FALSE, yShowTickLabel=FALSE,
hideAxisTicks=TRUE)
# AxisLine : a vector of length 3 indicating the size,
#the line type and the color of axis lines
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
axisLine=c(1, “solid”, “darkblue”))
image: 21D__Tugas_lyx_pasted23.eps

Background and colors

Mengubah violin petak latar belakang dan mengisi warna
# change background color to “white”. Default is “gray”
ggplot2.violinplot(data=df, xName=’dose’, yName=’len’,
backgroundColor=”white”)
# Change background color to “lightblue” and grid color to “white”
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
backgroundColor=”lightblue”, gridColor=”white”)
# Change plot fill color
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
backgroundColor=”white”, fill=’#FFAAD4′)
# remove grid; remove top and right borders around the plot;
# change axis lines
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
backgroundColor=”white”, fill=’#FFAAD4′,
removePanelGrid=TRUE,removePanelBorder=TRUE,
axisLine=c(0.5, “solid”, “black”))
image: 22D__Tugas_lyx_pasted24.eps

Mengubah violin warna petak menurut kelompok

Warna dapat ditentukan sebagai heksadesimal RGB triplet, seperti “# FFCC00” atau dengan nama (misalnya: “red”). Anda juga dapat menggunakan skala warna lain, seperti yang diambil dari paket RColorBrewer. Sistem warna yang berbeda
Untuk mengubah violin warna petak menurut kelompok, Anda harus menentukan nama kolom data yang berisi grup menggunakan groupName argumen. Gunakan groupColors argumen, untuk menentukan warna dengan kode heksadesimal atau dengan nama. Dalam hal ini, panjang groupColors harus sama dengan jumlah kelompok. Menggunakan argumen bir Palette, untuk menentukan warna menggunakan RColorBrewer palet.
# Color the violin plot accoording to the groupName “dose”
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’, groupName=’dose’)
# Change group colors using hexadecimal colors
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’,
groupColors=c(‘#999999′,’#E69F00′,’#56B4E9’))
# Change group colors using brewer palette: “Paired”
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’, brewerPalette=”Paired”)
image: 23D__Tugas_lyx_pasted25.eps
Warna juga dapat diubah dengan menggunakan nama-nama sebagai berikut:
# Change group colors using color names
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’,
groupColors=c(‘aquamarine3′,’chartreuse1′,’goldenrod1’))

Legend
LEGEND POSITION

# Change the legend position to “top”
# (possible values: “left”,”top”, “right”, “bottom”)
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’, legendPosition=”top”)
# legendPosition can be also a numeric vector c(x, y)
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’, legendPosition=c(0.8,0.2))
image: 24D__Tugas_lyx_pasted26.eps
Hal ini juga memungkinkan untuk posisi legenda dalam area merencanakan. Anda harus menunjukkan x, y koordinat kotak legenda. x dan y nilai-nilai harus antara 0 dan 1. c (0,0) sesuai dengan “kiri bawah” dan c (1,1) sesuai dengan “kanan atas” posisi.

Legend background color, title and text font styles

# Change legend background color, title and text font styles
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’, groupName=’dose’,
# legendTitleFont=c(size, style, color) legendTitle=”Dose (mg)”,
legendTitleFont=c(10, “bold”, “blue”),
#legendTextFont=c(size, style, color) legendTextFont=c(10, “bold.italic”, “red”),
# legendBackground: c(fill, lineSize, lineType, lineColor)
legendBackground=c(“lightblue”, 0.5, “solid”, “darkblue” ) )
image: 25D__Tugas_lyx_pasted27.eps

Mengubah urutan item dalam legenda, menghapus legenda petak

# Change the order of items in the legend
# legendItemOrder : character vector indicating
# the order of items in the legends.
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’,
legendItemOrder=c(“2”, “1”, “0.5”))
# Remove plot legend
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’, showLegend=FALSE)
image: 26D__Tugas_lyx_pasted28.eps

Axis scales

# Change y axis limit
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’, ylim=c(0,50))
# y Log scale. Possible values=”none”, “log2” and “log10”
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’, yScale=”log2″)
image: 27D__Tugas_lyx_pasted29.eps

Buat plot disesuaikan dengan beberapa kode R

# Customized violinplot with centered dot plot
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’,
groupColors=c(‘#999999′,’#E69F00′,’#56B4E9’), showLegend=FALSE,
backgroundColor=”white”, xtitle=”Dose (mg)”, ytitle=”length”,
mainTitle=”Plot of length \n by dose”,
addDot=TRUE, dotSize=1)
#Remove grid; Remove Top and right border around the plot
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’dose’,
groupColors=c(‘#999999′,’#E69F00′,’#56B4E9’), showLegend=FALSE,
backgroundColor=”white”, xtitle=”Dose (mg)”, ytitle=”length”,
mainTitle=”Plot of length \n by dose”,
addDot=TRUE, dotSize=1,
removePanelGrid=TRUE,removePanelBorder=TRUE,
axisLine=c(0.5, “solid”, “black”))
image: 28D__Tugas_lyx_pasted30.eps

violin plot dengan beberapa kelompok

##len supp dose
## 1 4.2 VC 0.5
## 2 11.5 VC 0.5
## 3 7.3 VC 0.5
## 11 16.5 VC 1.0
## 12 16.5 VC 1.0
## 13 15.2 VC 1.0
## 14 17.3 VC 1.0
## 15 22.5 VC 1.0
## 21 23.6 VC 2.0
## 22 18.5 VC 2.0
## 23 33.9 VC 2.0
## 24 25.5 VC 2.0
## 31 15.2 OJ 0.5
## 32 21.5 OJ 0.5
## 33 17.6 OJ 0.5
## 34 9.7 OJ 0.5
## 41 19.7 OJ 1.0
## 42 23.3 OJ 1.0
## 43 23.6 OJ 1.0
## 44 26.4 OJ 1.0
## 51 25.5 OJ 2.0 #
# 52 26.4 OJ 2.0
## 53 22.4 OJ 2.0
## 54 24.5 OJ 2.0
# plot of variable ‘len’ by xName ‘dose’. The plot is colored by the groupName ‘supp’
# position = interval between box plot of the same group
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’supp’, position=position_dodge(0.8),
backgroundColor=”white”, groupColors=c(‘#999999′,’#E69F00’),
legendPosition=”top”)
# add dots
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’supp’, position=position_dodge(0.8),
backgroundColor=”white”, groupColors=c(‘#999999′,’#E69F00’),
addDot=TRUE, dotSize=1,legendPosition=”top”)
image: 29D__Tugas_lyx_pasted31.eps

Facet: split plot ke dalam matriks panel

Pendekatan aspek split plot ke dalam matriks panel. Setiap panel menunjukkan subset yang berbeda dari data.
Faceting with one variable
# Facet according to the supp variable
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’supp’, legendPosition=”top”, faceting=TRUE, facetingVarNames=”supp”)
# Change the direction. possible values are “vertical”, horizontal”.
# Default is vertical.
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’supp’, legendPosition=”top”, faceting=TRUE,
facetingVarNames=”supp”,
facetingDirection=”horizontal”)
image: 30D__Tugas_lyx_pasted32.eps

Facet dengan dua variables

# Facet by two variables: dose and supp.
# Rows are dose and columns are supp
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’supp’, legendPosition=”top”,
faceting=TRUE,
facetingVarNames=c(“dose”,”supp”)
# Facet by two variables: reverse the order of the 2 variables
# Rows are supp and columns are dose
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
groupName=’supp’, legendPosition=”top”,
faceting=TRUE,
facetingVarNames=c(“supp”, “dose”))
image: 31D__Tugas_lyx_pasted33.eps

Facet scales

Secara default, semua panel memiliki skala yang sama (Timbangan faceting = “tetap”). Mereka dapat dibuat bebas, dengan menetapkan skala untuk free, free_x, atau free_y.
# Facet with free scales
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’, groupName=’supp’,
legendPosition=”top”,
faceting=TRUE,
facetingVarNames=c(“dose”, “supp”),
facetingScales=”free”)
image: 32D__Tugas_lyx_pasted34.eps
Seperti yang Anda lihat di plot di atas, sumbu y memiliki skala yang berbeda dalam panel yang berbeda.

Label penampilan Facet

# Change facet text font
# Possible values for the font style:’plain’, ‘italic’, ‘bold’, ‘bold.italic’.
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’, groupName=’supp’,
legendPosition=”top”,
faceting=TRUE, facetingVarNames=c(“dose”,”supp”),
facetingFont=c(12, ‘bold.italic’, “red”))
# Change the apperance of the rectangle around facet label
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’, groupName=’supp’,
legendPosition=”top”, faceting=TRUE,
facetingVarNames=c(“dose”,”supp”),
facetingRect=list(background=”white”, lineType=”solid”, lineColor=”black”, lineSize=1.5)
)
image: 33D__Tugas_lyx_pasted35.eps

ggplot2.violin plot fungsi

Deskripsi
Plot mudah violin plot plot dengan paket R mudah ggplot2.

PEMAKAIAN

ggplot2.violinplot(data, xName=NULL, yName=NULL, groupName=NULL,
addMean=FALSE,
meanPointShape=23, meanPointSize=4, meanPointColor=”black”, meanPointFill=”blue”,
addDot=FALSE, dotSize=1, dotPosition=c(“center”, “jitter”),
jitter=0.2, groupColors=NULL, brewerPalette=NULL,…)
Tabel Penjelasan

Arguments
Penjelasan
data
data.frame atau vektor numerik. Kolom adalah variabel dan baris adalah pengamatan.
xName
Nama kolom yang berisi x variabel (kelompok). Nilai default adalah NULL.
yName
Nama kolom yang berisi variabel y. Jika Nama = NULL, data harus menjadi vektor numerik.
groupName
Nama kolom yang berisi variabel kelompok. Variabel ini digunakan untuk warna petak menurut kelompok.
addMean
jika TRUE, titik berarti ditambahkan pada plot untuk masing-masing kelompok. Nilai default adalah SALAH.
meanPointShape, meanPointSize
Bentuk dan ukuran rata-rata titik.
meanPointColor
warna perbatasan titik rata-rata. Nilai default adalah “hitam”.
meanPointFill
Isi warna berarti titik. Parameter ini digunakan hanya ketika meanPointShape = 21 sampai 25. Nilai default adalah “biru”
addDot
jika TRUE, dotplot ditambahkan pada violin plot. Nilai default adalah SALAH.
dotSize
Ukuran titik.
dotPosition
Nilai yang mungkin adalah “pusat” dan “jitter”. Nilai default adalah “pusat”.
jitter
Tingkat jitter di arah x. Nilai default adalah 0,2.
groupColors
Warna kelompok. Kelompok Warna harus memiliki panjang yang sama dengan kelompok.
brewerPalette
Ini dapat juga digunakan untuk menunjukkan warna kelompok. Dalam hal ini kelompok parameter Warna harus NULL. mis: Brewer Palette = “Paired”.
….
Argumen lain diteruskan ke ggplot2.customize fungsi kustom atau geom_dotplot dan geom_violin fungsi dari ggplot2 paket.
Argumen yang lain yang dapat digunakan dijelaskan di link ini: ggplot2 menyesuaikan.
Mereka digunakan untuk menyesuaikan plot (sumbu, judul, latar belakang, warna, legenda, ….) Dihasilkan menggunakan ggplot2 atau mudah paket ggplot2 R.
Contoh :
df <- ToothGrowth
ggplot2.violinplot(data=df, xName=’dose’,yName=’len’,
mainTitle=”Plot of length according\n to the dose”,
xtitle=”Dose (mg)”, ytitle=”Length”)
# Or use this
plot<-ggplot2.violinplot(data=df, xName=’dose’,yName=’len’)
plot<-ggplot2.customize(plot, mainTitle=”Plot of length according\n to the dose”, xtitle=”Dose (mg)”, ytitle=”Length”) print(plot)

Nilai(Value)

Jika boxplot sebuah ditarik maka fungsi mengembalikan daftar dengan komponen-komponen berikut:
stats : matriks, setiap kolom berisi ekstrim dari kumis yang lebih rendah, lebih rendah
engsel, median, engsel atas dan ekstrim dari kumis atas untuk satu
kelompok / petak. Jika semua input memiliki atribut kelas yang sama, sehingga akan ini
komponen.
n : vektor dengan jumlah observasi di masing-masing kelompok.
conf : matriks dimana setiap kolom berisi perbedaan yang besar dari bawah dan atas derajatnya.
out : nilai-nilai dari setiap titik data yang berada di luar.
group : vektor dari panjang yang sama sepertir unsur yang keluar menunjukkan ke kelompok milik outlier.
names : vektor nama untuk kelompok.

EXAMPLES

# make a “violin”
x <- c(rnorm(100), rnorm(50,5))
PlotViolin(x, col = “brown”)
par(mfrow=c(1,2))
f <- factor(rep(1:5, 30))
# make a quintet. Note also choice of bandwidth
PlotViolin(x ~ f, col = SetAlpha(“steelblue”,0.3), bw = “SJ”,
main=”Vertical”)
# and the same, but in horizontal arrangement
PlotViolin(x ~ f, col = SetAlpha(“steelblue”,0.3), bw = “SJ”, horizontal =
TRUE,
las=1, main=”Horizontal”)
# example taken from boxplot
boxplot(count ~ spray, data = InsectSprays, col = “lightgray”,
main=”Boxplot”)
PlotViolin(count ~ spray, data = InsectSprays, col = “lightgray”,
main=”Violinplot”)
# groupwise densityplots defined the same way as in boxplot
boxplot(len ~ supp*dose, data = ToothGrowth,
main = “Guinea Pigs’ Tooth Growth”,
xlab = “Vitamin C dose mg”, ylab = “tooth length”,
col=c(“yellow”, “orange”), lty=c(1,2)
)
b <- PlotViolin(len ~ supp*dose, data = ToothGrowth,
main = “Guinea Pigs’ Tooth Growth”,
xlab = “Vitamin C dose mg”, ylab = “tooth length”,
col=c(“yellow”, “orange”), lty=c(1,2)
)
# use points, if the medians deserve special attention
points(x=1:6, y=b$stats[3,], pch=21, bg=”white”, col=”black”, cex=1.2)

Violin plot.

KEGUNAAN : GEOM_VIOLIN(MAPPING = NULL, DATA = NULL, STAT = “YDENSITY”, POSITION = “DODGE”, TRIM = TRUE SCALE = “AREA”, …)
PENJELASAN :
TRIM

Jika TRUE (default), memotong ekor violin dengan berbagai data. Jika SALAH, tidak
scale
jika “daerah” (default), semua violin memiliki wilayah yang sama (sebelum pemangkasan ekor). Dari “menghitung”, daerah yang skala proporsional dengan jumlah observasi. Jika “lebar”, semua violin memiliki maksimum yang sama lebar.
mapping
Pemetaan estetika, biasanya dibangun dengan aes atau aes_string. Hanya perlutingkat lapisan jika Anda override default petak data.
data
Lapisan dataset tertentu – hanya diperlukan jika Anda ingin mengganti default petak.
stat
Transformasi statistik untuk menggunakan data untuk lapisan ini.
position
Penyesuaian posisi untuk menggunakan untuk poin tumpang tindih pada lapisan ini
argumen lain diteruskan nanti. Hal ini dapat mencakup estetika yang nilainya Anda ingin mengatur, tidak peta. Lihat lapisan untuk lebih jelasnya.

Estetika

geom_violin memahami estetika berikut (estetika yang diperlukan dalam huruf tebal):
-.x
-.y
-.alpha
-.colour
-.fill
-.linetype
-.size
-.weight
Contoh
# make a “violin”
x <- c(rnorm(100), rnorm(50,5))
PlotViolin(x, col = “brown”)
par(mfrow=c(1,2))
f <- factor(rep(1:5, 30))
# make a quintet. Note also choice of bandwidth
PlotViolin(x ~ f, col = SetAlpha(“steelblue”,0.3), bw = “SJ”, main=”Vertical”)
# and the same, but in horizontal arrangement
PlotViolin(x ~ f, col = SetAlpha(“steelblue”,0.3), bw = “SJ”, horizontal = TRUE, las=1, main=”Horizontal”)
# example taken from boxplot
boxplot(count ~ spray, data = InsectSprays, col = “lightgray”, main=”Boxplot”)
PlotViolin(count ~ spray, data = InsectSprays, col = “lightgray”, main=”Violinplot”)
# groupwise densityplots defined the same way as in
boxplot boxplot(len ~ supp*dose, data = ToothGrowth,
main = “Guinea Pigs’ Tooth Growth”, xlab = “Vitamin C dose mg”, ylab = “tooth length”, col=c(“yellow”, “orange”), lty=c(1,2) )
b <- PlotViolin(len ~ supp*dose, data = ToothGrowth, main = “Guinea Pigs’ Tooth Growth”,
xlab = “Vitamin C dose mg”, ylab = “tooth length”,
col=c(“yellow”, “orange”), lty=c(1,2) ) # use points, if the medians deserve special attention points(x=1:6, y=b$stats[3,], pch=21, bg=”white”, col=”black”, cex=1.2)
Bab 3

GGPLOT2

 Fungsi ggplot2

MENGAPA MENGGUNAKAN GGPLOT2?

Ini bukan hanya software dengan paket biasa, itu adalah gaya hidup konseptual! Tidak hanya memberikan set plot, plot r juga memberikan Anda kemampuan untuk ‘berbicara’ mengenai visualisasi data.

 Cara penggunaan ggplot2

Menggunakan ggplot2 untuk membuat plot pencar
Tujuan dari bagian ini adalah untuk memotivasi mengapa Anda mungkin ingin menggunakan ggplot daripada grafis R dasar. Untuk memulainya, kita akan memuat ggplot2 paket yang berisi fungsi kita perlukan untuk bagian pertama dan dua data.frames data: kita sudah melihat dataset iris. Dataset kedua adalah warna, potong, kejelasan, karat dan harga sekitar 60.000 berlian yang. Karena data berlian yang begitu besar, kami akan mengambil sub-sampel dari 1.000 poin:
library(ggplot2); data(iris); data(diamonds) diamonds.sampled <- diamonds[ sample(1:nrow(diamonds), 1000),]
Sebagai contoh pertama, mari kita berpikir tentang plot pencar, untuk memulai dengan, kita akan menggunakan paket R dasar. Ketika kita memberitahu R untuk membuat sebar, kita harus mengatakan itu nilai-nilai apa yang ‘X’ akan dan apa nilai-nilai ‘Y’ akan:
plot( x = iris$Sepal.Length, y = iris$Petal.Length)
image: 34D__Tugas_lyx_pasted36.eps
Anda bisa membayangkan sebuah algoritma yang memberitahu R untuk pergi ke setiap baris dalam tabel nilai, menemukan kolom untuk panjang Sepal, maka kolom untuk panjang petal, dan akhirnya, menggambar titik di mana kedua hal berpotongan. Cara lain untuk mengatakan ini adalah bahwa koordinat horizontal dipetakan ke kolom tertentu dari data (panjang sepal) dan koordinat vertikal dipetakan ke kolom lain (panjang petal). Kita bisa membumbui rencana kami sedikit dengan menambahkan beberapa warna untuk sesuai dengan spesies. Namun, ini sebenarnya melibatkan sedikit wajar kode agak jelas:
#Set up a vector of color keywords for R to index COLORS = c(“red”, “blue”, “green”)
#Since factors are encoded as numbers and a list of levels, we can index #the color vector using the numeric version of the species plot( x = iris$Sepal.Length, y = iris$Petal.Length, col = COLORS[ as.numeric( iris$Species ) ] )
#Finally, we can add a legend legend( “topleft”, pch = 1, col = COLORS, legend = levels( iris$Species ) )
image: 35D__Tugas_lyx_pasted37.eps
Sekarang kami memiliki tiga pemetaan: satu dari panjang sepal ke X, satu dari panjang kelopak ke Y, dan satu dari spesies ke warna. Dalam istilah dari ggplots, pemetaan ini disebut ‘pemetaan estetika dan cara pemetaan ini ditarik pada plot disebut’ geometri, ‘atau’ GEOM. ‘Menggunakan ggplot, kita dapat membuat plot yang sama, tetapi dengan sintaks yang berbeda sedikit:
ggplot(iris, aes(x = Sepal.Length,
y = Petal.Length,
col = Species)
)+
geom_point()
image: 36D__Tugas_lyx_pasted38.eps
Fungsi ‘ggplot’ membutuhkan dua argumen: pertama adalah data.frame bahwa plot Anda akan terbuat dari (iris dalam kasus ini). Yang kedua adalah fungsi yang disebut ‘aes’ yang menentukan pemetaan estetika. Dalam hal ini, kami diberitahu ggplot bahwa kami ingin panjang sepal pada sumbu x, panjang kelopak pada sumbu y, dan warna yang akan dikodekan oleh spesies. Namun, kita bisa memilih sejumlah pemetaan estetika lainnya. Kita bisa menggunakan bentuk:
ggplot(iris, aes(x = Sepal.Length,
y = Petal.Length, shape = Species)
)+ g
eom_point()
image: 37D__Tugas_lyx_pasted39.eps
Or size:
ggplot(iris, aes(x = Sepal.Length,
y = Petal.Length, size = Species) )+
geom_point()
image: 38D__Tugas_lyx_pasted40.eps
ggplot juga cukup pintar untuk membuat variabel kontinu sebagai warna atau ukuran:
ggplot(iris, aes(x = Sepal.Length,
y = Petal.Length,
size = Petal.Width) )+ geom_point()
image: 39D__Tugas_lyx_pasted41.eps
ggplot(iris, aes(x = Sepal.Length,
y = Petal.Length,
col = Petal.Width) )+ geom_point()
image: 40D__Tugas_lyx_pasted42.eps
image: 41D__Tugas_lyx_pasted43.eps
Kita bahkan bisa membuat sulit untuk menafsirkan petak menampilkan semua lima kolom data:
ggplot(iris, aes(x = Sepal.Length,
y = Petal.Length,
col = Petal.Width,
size = Sepal.Width,
shape = Species) )+ geom_point()
image: 42D__Tugas_lyx_pasted44.eps
Ada cukup banyak keuntungan untuk pendekatan ini daripada mencoba untuk meniru plot ini dengan grafis dasar:
1.legenda secara otomatis diambil untuk Anda.
2.Kode ini sangat mudah untuk mengubah. Daripada harus mencari cara untuk memetakan secara manual ukuran titik ke sebuah variabel menggunakan beberapa kode R sulit, itu hanya sesederhana mengatakan untuk mengatur ‘ukuran’ sama dengan ‘variabel’.
3.mudah untuk swap sekitar variabel dari satu pemetaan estetika yang lain.
Bab 4

Pemanfaatan ggplot2 untuk grafis

Mungkin kendala terbesar untuk belajar ggplot grafis adalah bahwa kita perlu belajar sintaks yang berbeda untuk menjalankannya.Pada bab ini juga akan menjelaskan komponen yang terdapat dalam ggplot2. Kita sudah melihat fungsi ‘ggplot’ itu sendiri. Argumen pertama adalah selalu bingkai data. Frame data adalah salah satu yang ggplot gunakan untuk mencari semua pemetaan yang Anda tetapkan dalam potongan plot selanjutnya.Yang menyenangkan disini adalah bahwa tidak ada kebutuhan untuk menggunakan notasi tanda dolar(string).Anda bisa mengatur di plot dasar dengan menentukan komentar pada data.Argumen kedua fungsi yang disebut ‘aes’. Aes mengambil nama argumen. Setiap nama argumen adalah ‘estetika’ bahwa Anda ingin memepetakan sesuatu ke kolom tertentu dalam data. Cara Anda menentukan pemetaan adalah dengan menulis estetika (yaitu ukuran) ‘=’ nama kolom. (Perhatikan bahwa nama kolom tidak dalam tanda kutip) Sebagai contoh, jika kita ingin karat berlian berada di sumbu x dan harga berlian berada di sumbu y, kita akan menulis:
ggplot(diamonds.sampled, aes(x=carat, y = price))
Jika Anda menjalankan fungsi ini, tidak ada yang akan diplot karena belum memberitahu ggplots bagaimana cara menampilkan pemetaan estetika yang dibuat. Untuk melakukan hal ini, kita perlu GEOM a.

 Geoms

Ada banyak geoms berbeda dapat Anda gunakan untuk plot data Anda. Ada contoh yang paling umum di bawah ini, tetapi pastikan untuk teliti dalam dokumentasi ggplot untuk melihat berbagai kebutuhan dalam kotak peralatan Anda.

 Titik

Mungkin GEOM sederhana untuk bekerja dengan adalah titik. Di tanah ggplot, semua gen yang dikodekan sebagai fungsi R. Sintaks yang digunakan untuk menambahkannya ke plot hanyalah sebuah tanda ‘+’:
ggplot(diamonds.sampled, aes(x=carat, y = price))+geom_point()
image: 43D__Tugas_lyx_pasted45.eps
geoms yang modular, sehingga Anda dapat menambahkan banyak dari mereka untuk plot yang Anda inginkan (seperti yang akan Anda lihat di bawah). Setiap GEOM memiliki estetika tertentu yang harus didefinisikan dalam plot dalam rangka untuk itu harus diplot. Dalam kasus geom_point, hanya estetika yang diperlukan adalah ‘x’ dan ‘y’. Namun, hampir semua cara yang mungkin Anda bisa memikirkan untuk mengubah titik dapat diatur sebagai pemetaan estetika (seperti yang kita lihat di atas). Atau, jika Anda hanya ingin semua poin yang akan diplot dengan cara tertentu, Anda dapat mengatur setiap aspek estetika mereka di luar fungsi panggilan aes:
ggplot(diamonds.sampled, aes(x=carat, y = price)) + geom_point(col = ‘red’, alpha = 0.1)
image: 44D__Tugas_lyx_pasted46.eps
Yang menyenangkan tentang ggplot adalah bahwa sekali kita memiliki potongan-potongan ini untuk bermain dengan plot, kita bisa mulai main-main untuk membuat seluruh berbagai plot. Misalnya, dengan menetapkan nilai x ke nilai-nilai diskrit dan nilai y dengan nilai-nilai yang terus menerus, kita mendapatkan apa yang orang sebut ‘strip plot yang’:
ggplot( diamonds.sampled, aes(x=cut, y=price))+ geom_point()
image: 45D__Tugas_lyx_pasted47.eps
Namun, rencana ini cukup sulit untuk dibaca karena ada begitu banyak data. Salah satu solusi untuk ini adalah bahwa poin dapat ‘bergoyang’ untuk menghindari overplotting:
ggplot( diamonds.sampled, aes(x=cut, y=price))+ geom_point(position=position_jitter( width = 0.05, height = 0) )
image: 46D__Tugas_lyx_pasted48.eps
Anda harus bermain-main untuk mendapatkan jumlah yang tepat dari jitter:
ggplot( diamonds.sampled, aes(x=cut, y=price))+ geom_point(position=position_jitter( width = 0.2, height = 0) )
image: 47D__Tugas_lyx_pasted49.eps
Mengatur transparansi titik juga merupakan cara yang baik untuk menangani overplotting
ggplot( diamonds.sampled, aes(x=cut, y=price))+ geom_point(position=position_jitter( width = 0.1, height = 0), alpha = 0.1)
image: 48D__Tugas_lyx_pasted50.eps

 Violin

Pendekatan lain untuk masalah overplotting dalam grafik strip untuk melakukan ‘violin’ Plot gantinya:
ggplot( diamonds.sampled, aes(x=cut, y=price))+ geom_violin()
image: 49D__Tugas_lyx_pasted51.eps
Seperti yang saya sebutkan di atas, ggplot adalah modular. Jadi, tidak ada yang menghentikan kita dari menggunakan lebih dari satu GEOM. Sebagai contoh, kita bisa plot poin di samping violin plot. Perhatikan bahwa saya mengatur isi dari violin dan warna violin untuk membuat apa yang saya pikir adalah plot yang lebih menyenangkan:
ggplot( diamonds.sampled, aes(x=cut, y=price))+
geom_violin(fill=NA, col=’blue’)+ geom_point(position=position_jitter( width = 0.1, height = 0), alpha = 0.1)
image: 50D__Tugas_lyx_pasted52.eps

 Box

Jika data Anda yang lebih atau kurang terdistribusi secara normal, kotak petak dapat digantikan untuk stripplot atau violin plot:
ggplot( diamonds.sampled, aes(x=cut, y=price))+ geom_boxplot()
image: 51D__Tugas_lyx_pasted53.eps

 Histograms

Jika data Anda tidak terdistribusi normal, dan jika Anda peduli tentang frekuensi absolut data, histogram selalu baik.
ggplot( diamonds.sampled, aes(fill=cut, x=price))+ geom_histogram()
image: 52D__Tugas_lyx_pasted54.eps
Pastikan Anda bermain-main dengan jumlah sampah yang Anda gunakan:
ggplot( diamonds.sampled, aes(fill=cut, x=price))+ geom_histogram(binwidth = 1000)
image: 53D__Tugas_lyx_pasted55.eps
There’s two other ways to make a histogram: bins can be plotted beside one another:
ggplot( diamonds.sampled, aes(fill=cut, x=price))+ geom_histogram(position = “dodge”)
image: 54D__Tugas_lyx_pasted56.eps
Atau ditumpuk di atas untuk jenis bergerak pie chart
ggplot( diamonds.sampled, aes(fill=cut, x=price))+ geom_histogram(position = “fill”)
image: 55D__Tugas_lyx_pasted57.eps

 Massa jenis

Jika Anda tidak ingin menentukan jumlah sampah dan Anda tidak peduli tentang jumlah absolut dari pengamatan untuk nilai tertentu, plot kepadatan kadang-kadang tepat:
ggplot( diamonds.sampled, aes(col=cut, x=price))+ geom_density()
image: 56D__Tugas_lyx_pasted58.eps

 Garis

Untuk menunjukkan beberapa aspek ggplot, kita akan menggunakan beberapa data yang saya dihasilkan. Data adalah densitas optik (OD) dari beberapa budaya ragi unggulan menjadi 96 piring dengan baik. Ada tiga jenis yang berbeda ragi, empat kondisi media yang berbeda, dan delapan pengenceran awal yang berbeda dari budaya jenuh dalam media segar. Pertama, kita akan membaca dalam data dan membuat beberapa subset untuk kemudahan merencanakan:
growth$ammonium <- paste(sapply(strsplit(growth$media, “”), “[“, 1), “ammonium”)
growth$dextrose <- paste(sapply(strsplit(growth$media, “”), “[“, 3), “dextrose”)
growth.PMY1529 <- subset(growth, (strain == “PMY1529”) & (initial_dilution == 270))growth.270 <- subset(growth, (initial_dilution == 270))
Karena ada empat jenis media, merencanakan subset dari data yang berisi jumlah pengenceran tunggal dan strain tunggal memiliki empat baris jelas sesuai dengan media:
ggplot( growth.PMY1529, aes(x=time, y=OD))+geom_point()
image: 57D__Tugas_lyx_pasted59.eps
Namun, jika kita hanya mencoba untuk menggantikan garis untuk titik, kita mendapatkan sesuatu yang tampak tidak dapat dimengerti:
ggplot( growth.PMY1529, aes(x=time, y=OD))+geom_line()
image: 58D__Tugas_lyx_pasted60.eps
Hal ini karena Anda harus menentukan apa yang ‘kelompok’ dari nilai-nilai yang ggplot harus terhubung. Untuk melihat ini, kami akan mengambil bagian tambahan data untuk membatasi diri untuk hanya satu jenis media. Selama hanya ada satu set data untuk menangani, pendekatan kami bekerja OK:
ggplot(subset(growth.PMY1529, media == “HAHD”), aes(x=time, y=OD))+geom_line()
image: 59D__Tugas_lyx_pasted61.eps
Cara Anda memberitahu ggplot untuk menghubungkan set berbeda poin dalam data ini adalah untuk mengatur ‘kelompok’ estetika:
ggplot( growth.PMY1529, aes(x=time, y=OD, group=media))+geom_line()
image: 60D__Tugas_lyx_pasted62.eps
Alih-alih pengaturan kelompok estetika, kita bisa juga hanya mengatur warna menjadi jenis media. ggplot cukup pintar untuk menghubungkan seperti poin berwarna ketika menggunakan geom_line.
ggplot( growth.PMY1529, aes(x=time, y=OD, col=media))+geom_line()
image: 61D__Tugas_lyx_pasted63.eps
Namun, jika kita ingin split oleh semua jenis media, namun warna dengan hanya konsentrasi dekstrosa, kita bisa menentukan baik warna dan kelompok:
ggplot( growth.PMY1529, aes(x=time, y=OD, col=dextrose, group=media))+geom_line()
image: 62D__Tugas_lyx_pasted64.eps
Dan, tentu saja, Anda dapat menentukan pemetaan sampai plot akan sulit untuk membaca.
ggplot( growth.270, aes(x=time, y=OD, col=strain, lty=dextrose, group=plate_pos))+geom_line()
image: 63D__Tugas_lyx_pasted65.eps
Anehnya, Anda tidak dapat melakukan trik yang sama dengan boxplots. Misalnya, mengatakan bahwa saya ingin setiap ‘x’ yang akan diwarnai oleh ‘warna’ dan dikelompokkan oleh ‘kejelasan:’
ggplot( diamonds.sampled, aes(x=cut, y=price, col=color, group=clarity))+ geom_boxplot()
image: 64D__Tugas_lyx_pasted66.eps
Alasan mengapa hal ini terjadi adalah rumit, tapi itu baik untuk menyadari fakta. Yang terbaik yang dapat Anda lakukan memiliki keduanya ‘warna’ dan ‘x’:
ggplot( diamonds.sampled, aes(x=cut, y=price, col=color))+ geom_boxplot()
image: 65D__Tugas_lyx_pasted67.eps

 Tile

Kadang-kadang Anda memiliki dua variabel yang dievaluasi untuk variabel ketiga di grid merata spasi (berpikir dari lanskap kebugaran). Dalam hal ini, Anda dapat menggunakan ‘ubin’ GEOM untuk ubin warna sesuai dengan nilai pada yang mengkoordinasikan:
#This is a function to make a dataframe of a two variabled function
pp <- function (n,r=4) {
x <- seq(-r*pi, r*pi, len=n)
df <- expand.grid(x=x, y=x)
df$r <- sqrt(df$x^2 + df$y^2)
df$z <- cos(df$r^2)*exp(-df$r/6)
df
}
#Note that the aesthetic set is the ‘fill’ not the ‘color’ g
gplot(pp(100), aes(x=x,y=y, fill=z))+geom_tile()
image: 66D__Tugas_lyx_pasted68.eps
Bab 5

Penutup

A. Kesimpulan

Violin plots berguna untuk membandingkan distribusi. Ketika data dikelompokkan oleh faktor dengan dua tingkat (misalnya laki-laki dan perempuan), Anda dapat split dua violin untuk melihat perbedaan antara kelompok. Karena banyak macam dari viloin plots maka dibentuk ke dalam kelompok-kelompok.Perbedaan dalam pengelompokan violin plots dapat dibedakan melalui warna,bentuk maupun ukuran nya .Software yang kami gunakan disini adalah ggplot2.Mungkin kendala terbesar untuk belajar ggplot grafis adalah bahwa kita perlu belajar sintaks yang berbeda untuk menjalankannya. Ggplot2tidak hanya memberikan set plot, plot r juga memberikan Anda kemampuan untuk ‘berbicara’ mengenai visualisasi data. Ada banyak yang dapat dilakukan dengan ggplot2 misalkan menentukan koordinat violin, membuat violin dari beberapa titik maupun pewarnaan dari violin. Jadi tujuan dari pembuatan buku ini adalah untuk menambah wawasan pembaca tentang pengelompokkan violin plot dengan memecahnya kedalam beberapa vilon plot yang dijelaskan pada bab kedua dalam buku ini.

B. Saran

Dari pembahasan yang telah di tulis mungkin kendala terbesar untuk belajar ggplot grafis adalah bahwa kita perlu belajar sintaks yang berbeda untukmenjalankannya.Kita harus tau syntax yang tepat dalam membuat violin plot dari pengelompokkan viloin plot tersebut. Untuk mengubah violin warna petak menurut kelompok, Anda harus menentukan nama kolom data yang berisi grup menggunakan groupName argumen. Gunakan groupColors argumen, untuk menentukan warna dengan kode heksadesimal atau dengan nama. Dalam hal ini, panjang groupColors harus sama dengan jumlah kelompok.

DAFTAR PUSTAKA

Galili,Tal.2011 Split violin plots, http://www.r-bloggers.com/split-violin-plots/
Waskom,Michael.2012 Grouped violin plots with split violin,http://stanford.edu/~mwaskom/software/seaborn/examples/grouped_violinplots.html
President and Fellows of Harvard College.2011 Split violin plots,http://tagteam.harvard.edu/hub_feeds/1981/feed_items/209875