Rabu, 03 Februari 2016

0

VIOLING PLOTS-GROUPED VIOLIN PLOTS WITH SPLIT VIOLIN

  • Rabu, 03 Februari 2016
  • mbohtampan@blogspot.com
  • 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
    read more

    Subscribe