Manual metodis "Analisis statistik dan visualisasi data menggunakan R". Panduan metodologi "Analisis statistik dan visualisasi data dengan R" Apa yang perlu Anda ketahui untuk mendengarkan kursus

program kursus

Elemen pemrograman di R

  • Statistik deskriptif dan visualisasi
  • Misalnya, mana yang lebih penting: cek rata-rata atau cek biasa?

analisis klaster

  • Masalah apa yang sedang dipecahkan. Bagilah sekelompok objek menjadi subkelompok.
  • Contoh tugas. Segmentasi situs, identifikasi situs serupa.
  • Metode yang dipelajari. Analisis klaster hierarkis, metode k-means, metode k-medoid.

Menguji hipotesis statistik

  • Masalah apa yang sedang dipecahkan. Bandingkan dua kelompok objek.
  • Contoh tugas. Perilaku pengguna pengujian A/B aktif versi yang berbeda halaman situs.
  • Metode yang dipelajari. Uji proporsi, uji-t Student, uji-t Levine, uji Wilcoxon-Mann-Whitney

Analisis regresi linier.

  • Contoh tugas. Perkirakan berapa harga mobil bekas yang turun setelah kenaikan bea cukai.
  • Metode yang dipelajari. Pemilihan variabel, kolinearitas, observasi berpengaruh, analisis residual. Regresi nonparametrik (kernel smoothing). Memprediksi seri pendek dengan komponen musiman menggunakan regresi linier

Peramalan

  • Masalah apa yang sedang dipecahkan. Bangun Prakiraan Deret Waktu
  • Contoh tugas. Prediksi lalu lintas situs selama 6 bulan sebelumnya.
  • metode yang dipelajari. Penghalusan Eksponensial

Pembelajaran Mesin (Pengenalan Pola)

  • Contoh tugas. Kenali jenis kelamin dan usia setiap pengunjung situs
  • Metode yang dipelajari. k-nearest neighbor metode Classification Trees (CART). Hutan acak. mesin penambah gradien

Nilai kursus

Siswa akan diberikan 14 Pekerjaan laboratorium. Nilai untuk kursus ditetapkan sesuai dengan aturan berikut:

  • Luar biasa - semua karya dikreditkan;
  • Bagus - semua karya dikreditkan, kecuali satu?;
  • Memuaskan - semua karya kecuali dua dikreditkan;
  • Tidak memuaskan - dalam kasus lain.

Pekerjaan laboratorium adalah

  • pendengar diberi kumpulan data dan pertanyaan;
  • pendengar menjawab pertanyaan, mendukung pernyataannya dengan tabel, grafik, dan skrip yang ditulis dalam bahasa R;
  • pendengar menjawab pertanyaan tambahan.

Contoh pertanyaan. Sarankan parameter yang akan memastikan performa optimal dari algoritme Hutan Acak saat mengenali merek anggur berdasarkan hasil analisis kimia.

Apa yang perlu Anda ketahui untuk mengikuti kursus

Diasumsikan bahwa peserta kursus telah mengambil kursus teori probabilitas.

literatur

  • Shipunov, Baldin, Volkova, Korobeinikov, Nazarova, Petrov, Sufiyanov Statistik visual. Menggunakan R
  • Mastitsky, Shitikov Analisis statistik dan visualisasi data dengan R
  • Pengenalan Pola Uskup dan Pembelajaran Mesin.
  • James, Witten, Hastie, Tibshirani. Pengantar Pembelajaran Statistik. Dengan Aplikasi di R.
  • Hastie, Tibshirani, Friedman. Elemen Pembelajaran Statistik_ penambangan data, Inferensi, dan Prediksi 2+ed
  • Crawley. Buku R.
  • Kabacoff R beraksi. Analisis data dan grafik dengan R.

guru

Daftar kuliah

Pengantar R: perintah dasar. Median, kuantil dan kuartil. Grafik batang. Grafik batang. Pie chart. Diagram sebar. Matriks scatterplot. Penggunaan warna pada grafik. Kotak dengan kumis (diagram kotak). Pengamatan sampel tipikal: rata-rata aritmatika, median, atau rata-rata terpangkas. Pilihan metode untuk mendeskripsikan nilai tipikal yang memadai untuk data yang dianalisis. distribusi lognormal. Emisi dan pengamatan ekstrim.

Analisis klaster hierarkis. Cluster, jarak antar objek, jarak antar cluster. Algoritma untuk membuat dendrogram. Layar / Siku. Standarisasi data. Kesalahan umum dalam persiapan data. Interpretasi hasil.

metode k-means. Sensor nomor acak, butiran sensor. Visualisasi algoritma k-means. Metode untuk menentukan jumlah cluster. perpustakaan NbClust. Layar / Siku. Penskalaan multidimensi untuk visualisasi cluster.

Menguji hipotesis statistik. Hipotesis kesepakatan, homogenitas, independensi, hipotesis tentang parameter distribusi.

Menguji hipotesis statistik. Kesalahan jenis pertama dan kedua, nilai-p dan tingkat signifikansi, algoritma untuk pengujian hipotesis statistik dan interpretasi hasil. Hipotesis distribusi normal. kriteria Saphiro-Wilk dan Kolmogorov-Smirnov. Penyimpangan kecil dari normalitas. Perbandingan sampel. Sampel independen dan berpasangan. Pilihan antara uji-t Student, uji Mann-Whitney-Wilcoxon, dan uji Mood. Varietas uji-t Student dan perbandingan varians. Visualisasi dalam perbandingan. Tes satu sisi dan dua sisi.

Menguji hipotesis statistik. Perbandingan sampel. Sampel independen dan berpasangan. Pilihan antara uji-t Student, uji Mann-Whitney-Wilcoxon, dan uji Mood. Varietas uji-t Student dan perbandingan varians. Visualisasi dalam perbandingan. Tes satu sisi dan dua sisi. Kemerdekaan. Koefisien korelasi Pearson, Kendall dan Spearman, kesalahan khas dalam mempelajari hubungan antara dua fenomena. Pemeriksaan kesimpulan secara visual.

Model analisis regresi linier, interpretasi estimasi koefisien, koefisien determinasi berganda. Interpretasi dari beberapa koefisien determinasi, pembatasan ruang lingkup penerapannya. Identifikasi prediktor yang paling signifikan dan penilaian kontribusi masing-masing prediktor. Algoritma untuk mengoreksi model yang dibangun. Kolinearitas.

Analisis Regresi Linear: Peramalan Short Time Series.

Peramalan berdasarkan model regresi dengan variabel indikator musiman (dummy, struktural). Tren, komponen musiman, perubahan seri, outlier. Logaritma adalah teknik untuk mengubah perkalian musiman menjadi aditif. variabel indikator. Pelatihan ulang.

Regresi Linear - Analisis Sisa. Pelanggaran batasan model teorema Gauss-Markov. Analisis residu. Kesalahan spesifikasi. Multikolinearitas, Toleransi dan VIF. Memeriksa keteguhan varian residu. Koreksi model dengan adanya penyimpangan dalam distribusi residu dari normalitas. Masak jarak dan leverage. Statistik Durbin-Watson. Mengurangi jumlah penyesuaian musiman.

Penghalusan Eksponensial Metode Holt "a-Winters". Tren lokal, musim lokal.

Terminologi: Pembelajaran Mesin, Kecerdasan Buatan, Penambangan Data, dan Pengenalan Pola.

metode tetangga terdekat ke-k. Konsistensi metode. Malas belajar (malas belajar). Seleksi Fitur. Validasi silang. validasi silang k-fold. Overfitting (Kesesuaian yang berlebihan). Pelatihan dan tes set.

Contoh metode tetangga terdekat k-th. Menentukan jumlah tetangga terdekat. Tabel kontingensi untuk menentukan kualitas metode.

Pohon klasifikasi CART. Representasi geometris. Representasi sebagai seperangkat aturan logis. Representasi pohon. Node, orang tua dan anak, simpul akhir. Ambang batas. perpustakaan rpart. Pengukuran ketidakmurnian node. Metode pengukuran kemurnian: Gini, entropi, kesalahan klasifikasi. Aturan untuk menghentikan pohon pembelajaran. pustaka rpart.plot.

Terakhir kali (pada November 2014; saya sangat malu karena saya terlalu lama melanjutkan!) Saya berbicara tentang fitur dasar bahasa R. Meskipun ada semua konstruksi kontrol yang biasa, seperti loop dan blok bersyarat, pendekatan klasik untuk pengolahan data berdasarkan iterasi jauh dari Keputusan terbaik, karena siklus di R luar biasa lambat. Jadi sekarang saya akan memberi tahu Anda bagaimana sebenarnya bekerja dengan data sehingga proses perhitungan tidak memaksa Anda untuk minum terlalu banyak cangkir kopi untuk mengantisipasi hasilnya. Selain itu, saya akan meluangkan waktu untuk berbicara tentang cara menggunakan alat visualisasi data modern di R. Karena kemudahan menyajikan hasil pemrosesan data dalam praktik tidak kalah pentingnya dengan hasil itu sendiri. Mari kita mulai dengan sederhana.

Operasi vektor

Seperti yang kita ingat, tipe dasar di R sama sekali bukan angka, tetapi vektor, dan operasi aritmatika dasar bekerja pada vektor elemen demi elemen:

> x<- 1:6; y <- 11:17 >x + y 12 14 16 16 18 20 22 18 18> x> 2 false false true true benar> x * y 11 24 39 56 75 96 17> x / y 0,09090909 0,166666666660,23666666666666666666923 0,2

Semuanya cukup sederhana di sini, tetapi cukup logis untuk mengajukan pertanyaan: apa yang akan terjadi jika panjang vektor tidak sama? Jika kita, katakanlah, tulis k<- 2, то будет ли x * k соответствовать умножению вектора на число в математическом смысле? Короткий ответ - да. В более общем случае, когда длина векторов не совпадает, меньший вектор просто продолжается повторением:

>z<- c(1, 0.5) >x * z 1 1 3 2 5 3

Hal yang sama berlaku untuk matriks.

> x<- matrix(1:4, 2, 2); y <- matrix(rep(2,4), 2, 2) >x * y [,1] [,2] 2 6 4 8 > x / y [,1] [,2] 0,5 1,5 1,0 2,0

Dalam hal ini, "normal", dan bukan bitwise, perkalian matriks akan terlihat seperti ini:

> x %*% y [,1] [,2] 8 8 12 12

Semua ini, tentu saja, sangat bagus, tetapi apa yang harus dilakukan ketika kita perlu menerapkan fungsi kita sendiri ke elemen vektor atau matriks, yaitu, bagaimana melakukannya tanpa loop? Pendekatan yang digunakan R untuk menyelesaikan masalah ini sangat mirip dengan yang biasa kita gunakan dalam bahasa fungsional - semuanya mengingatkan pada fungsi peta di Python atau Haskell.

Fungsi yang berguna lapply dan teman-temannya

Fungsi pertama dalam keluarga ini adalah lapply . Ini memungkinkan Anda untuk menerapkan fungsi yang diberikan ke setiap elemen daftar atau vektor. Selain itu, hasilnya akan persis seperti daftarnya, apa pun jenis argumennya. Contoh paling sederhana menggunakan fungsi lambda:

> q<- lapply(c(1,2,4), function(x) x^2) >q 1 4 16

Jika fungsi yang akan diterapkan ke daftar atau vektor memerlukan lebih dari satu argumen, maka argumen tersebut dapat diteruskan melalui lapply .

> q<- lapply(c(1,2,4), function(x, y) x^2 + y, 3)

Dengan daftar, fungsinya bekerja dengan cara yang sama:

> x<- list(a=rnorm(10), b=1:10) >lapply(x, rata-rata)

Di sini, fungsi rnorm menentukan distribusi normal (dalam hal ini, sepuluh angka terdistribusi normal antara 0 dan 1), dan rata-rata menghitung rata-rata. Fungsi sapply persis sama dengan fungsi lapply, hanya saja ia mencoba menyederhanakan hasilnya. Misalnya, jika setiap elemen daftar memiliki panjang 1, maka vektor akan dikembalikan sebagai pengganti daftar:

> sapply(c(1,2,4), fungsi(x) x^2) 1 4 16

Jika hasilnya berupa daftar vektor dengan panjang yang sama, maka fungsi akan mengembalikan matriks, jika tidak ada yang jelas, maka hanya berupa daftar, seperti lapply .

> x<- list(1:4, 5:8) >sapply(x, fungsi(x) x^2) [,1] [,2] 1 25 4 36 9 49 16 64

Untuk bekerja dengan matriks, lebih mudah menggunakan fungsi apply:

> x<- matrix(rnorm(50), 5, 10) >terapkan(x, 2, rata-rata) > terapkan(x, 1, jumlah)

Di sini, pertama-tama kita membuat matriks lima baris dan sepuluh kolom, lalu menghitung rata-rata kolom terlebih dahulu, lalu jumlah barisnya. Untuk melengkapi gambar, perlu dicatat bahwa tugas menghitung rata-rata dan penjumlahan baris sangat umum sehingga R menyediakan fungsi khusus untuk tujuan ini rowSums , rowMeans , colSums dan colMeans .
Fungsi apply juga dapat digunakan untuk array multidimensi:

> arr<- array(rnorm(2 * 2 * 10), c(2, 2, 10)) >terapkan(arr, c(1,2), rata-rata)

Panggilan terakhir dapat diganti dengan versi yang lebih mudah dibaca:

> barisMeans(arr, redup = 2)

Mari beralih ke fungsi mapply, yang merupakan analog multidimensi dari lapply . Mari kita mulai dengan contoh sederhana yang dapat ditemukan langsung di dokumentasi R standar:

> mapply(perwakilan, 1:4, 4:1) 1 1 1 1 2 2 2 3 3 4

Seperti yang Anda lihat, di sini kita menerapkan fungsi rep ke sekumpulan parameter yang dihasilkan dari dua urutan. Fungsi rep itu sendiri hanya mengulangi argumen pertama beberapa kali yang ditentukan sebagai argumen kedua. Jadi kode sebelumnya setara dengan yang berikut ini:

> daftar(perwakilan(1,4), perwakilan(2,3), perwakilan(3,2), perwakilan(4,1))

Terkadang perlu menerapkan fungsi ke beberapa bagian dari array. Ini dapat dilakukan dengan menggunakan fungsi tapply. Mari kita perhatikan contoh berikut:

> x<- c(rnorm(10, 1), runif(10), rnorm(10,2)) >F<- gl(3,10) >tapply(x,f,rata-rata)

Pertama kita membuat vektor yang bagian-bagiannya terbentuk variabel acak dengan distribusi yang berbeda, maka kita menghasilkan vektor faktor, yang tidak lebih dari sepuluh satu, lalu sepuluh dua dan jumlah tiga yang sama. Kemudian kami menghitung rata-rata untuk grup yang sesuai. Fungsi tapply default mencoba menyederhanakan hasilnya. Opsi ini dapat dimatikan dengan menentukan simple=FALSE sebagai parameter.

> tapply(x, f, range, sederhanakan=FALSE)

Ketika berbicara tentang fungsi apply, biasanya juga berbicara tentang fungsi split, yang membagi vektor menjadi beberapa bagian, mirip dengan tapply . Jadi, jika kita memanggil split(x, f) kita mendapatkan daftar tiga vektor. Jadi pasangan lapply / split berfungsi seperti tapply dengan penyederhanaan yang diatur ke FALSE:

> lapply(split(x, f), rata-rata)

Fungsi split juga berguna di luar bekerja dengan vektor: ini juga dapat digunakan untuk bekerja dengan bingkai data. Perhatikan contoh berikut (saya meminjamnya dari kursus Pemrograman R Coursera):

> library(set data) > head(airquality) Ozone Solar.R Angin Temp Bulan Hari 1 41 190 7,4 67 5 1 2 36 118 8,0 72 5 2 3 12 149 12,6 74 5 3 4 18 313 11,5 62 5 4 5 NA NA 14,3 56 5 5 6 28 NA 14.9 66 5 6 > s<- split(airquality, airquality$Month) >lapply(s, function(x) colMeans(x[, c("Ozon", "Solar.R", "Angin")]))

Di sini kami bekerja dengan kumpulan data yang berisi informasi tentang keadaan udara (ozon, radiasi matahari, angin, suhu dalam Fahrenheit, bulan dan hari). Kami dapat dengan mudah melaporkan rata-rata bulanan menggunakan split dan lapply seperti yang ditunjukkan pada kode. Menggunakan sapply , bagaimanapun, akan memberi kita hasil yang lebih nyaman:

> sapply(s, function(x) colMeans(x[, c("Ozone", "Solar.R", "Wind")])) 5 6 7 8 9 Ozone NA NA NA NA NA Solar.R NA 190.16667 216.483871 NA 167.4333 Angin 11.62258 10.26667 8.941935 8.793548 10.1800

Seperti yang Anda lihat, beberapa nilai kuantitas tidak ditentukan (dan nilai cadangan NA digunakan untuk ini). Ini berarti bahwa beberapa (setidaknya satu) nilai di kolom Ozon dan Solar.R juga tidak ditentukan. Dalam pengertian ini, fungsi colMeans berperilaku cukup benar: jika ada nilai yang tidak terdefinisi, maka rata-rata tidak terdefinisi. Masalahnya dapat diselesaikan dengan memaksa fungsi untuk mengabaikan nilai NA dengan parameter na.rm=TRUE:

>sapply(s, function(x) colMeans(x[, c("Ozon", "Solar.R", "Wind")], na.rm=TRUE)) 5 6 7 8 9 Ozon 23,61538 29,44444 59,115385 59,961538 31,44828 Solar.R 181.29630 190.16667 216.483871 171.857143 167.43333 Angin 11.62258 10.26667 8.941935 8.793548 10.18000

Mengapa kita membutuhkan begitu banyak fungsi untuk menyelesaikan tugas yang sangat mirip? Saya pikir setiap detik orang yang telah membaca semua ini akan menanyakan pertanyaan seperti itu. Semua fungsi ini sebenarnya mencoba menyelesaikan masalah pemrosesan data vektor tanpa menggunakan loop. Tapi itu satu hal untuk mencapai kecepatan pemrosesan yang tinggi, dan hal lain lagi untuk mendapatkan setidaknya beberapa fleksibilitas dan kontrol yang dibuat oleh kontrol seperti loop dan pernyataan kondisional yang disediakan.

Visualisasi data

Sistem R sangat kaya akan alat visualisasi data. Dan di sini saya dihadapkan pada pilihan yang sulit - apa yang harus dibicarakan jika areanya sangat luas. Jika dalam kasus pemrograman ada beberapa rangkaian fungsi dasar, yang tanpanya tidak ada yang dapat dilakukan, maka dalam visualisasi ada sejumlah besar tugas yang berbeda dan masing-masing (sebagai aturan) dapat diselesaikan dengan beberapa cara, masing-masing yang memiliki pro dan kontra. Selain itu, selalu ada banyak opsi dan paket yang memungkinkan Anda menyelesaikan masalah ini dengan berbagai cara.
Banyak yang telah ditulis tentang perender standar di R, jadi di sini saya ingin berbicara tentang sesuatu yang lebih menarik. Dalam beberapa tahun terakhir, paket ini menjadi semakin populer. ggplot2, mari kita bicara tentang dia.

Untuk memulai dengan ggplot2, Anda perlu menginstal pustaka menggunakan perintah install.package("ggplot2"). Selanjutnya, kami menghubungkannya untuk digunakan:

> library("ggplot2") > kepala(berlian) karat potongan warna kejelasan kedalaman tabel harga x y z 1 0,23 Ideal E SI2 61,5 55 326 3,95 3,98 2,43 2 0,21 Premium E SI1 59,8 61 326 3,89 3,84 2,31 3 0,23 Baik E VS1 56,9 65 4,5 4.07 2.31 4 0.29 Premium I VS2 62.4 58 334 4.20 4.23 2.63 5 0.31 Bagus J Si2 63.3 58 335 4.34 4.35 2.75 6 0.24 Sangat Baik J VVS2 62.8 3.94 3.48> Kepala (mtcars) MPG CLA. 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 WAG 21.0 6 160 110 3.9 2.875 17.02 0 1 4 DATSUN 710 22.8 4 108 93 3.85 2.320 18.61 1 4 1 Hornet 4 Drive 68 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 2

Data berlian dan mtcar adalah bagian dari paket ggplot2 dan akan kami kerjakan sekarang. Dengan yang pertama, semuanya jelas - ini adalah data berlian (kemurnian, warna, biaya, dll.), dan set kedua adalah data uji jalan (jumlah mil per galon, jumlah silinder ...) mobil dari tahun 1973-1974 dari majalah Amerika Motor Trends . Informasi lebih lanjut tentang data (seperti dimensi) dapat diperoleh dengan mengetikkan?diamonds atau?mtcars .

Untuk visualisasi, paket menyediakan banyak fungsi, di mana qplot akan menjadi yang terpenting bagi kita sekarang. Fungsi ggplot memberi Anda kontrol lebih besar atas prosesnya. Segala sesuatu yang bisa dilakukan dengan qplot juga bisa dilakukan dengan ggplot . Pertimbangkan itu contoh sederhana:

> qplot(kejelasan, data=berlian, isi=potong, geom="bar")

Efek yang sama dapat dicapai dengan fungsi ggplot:

> ggplot(berlian, aes(kejelasan, isi=potong)) + geom_bar()

Namun, memanggil qplot terlihat lebih sederhana. Pada ara. 1 Anda dapat melihat bagaimana ketergantungan jumlah berlian dengan kualitas potongan (cut) yang berbeda dibangun pada kejelasan (clarity).

Sekarang mari kita bangun ketergantungan jarak tempuh per unit bahan bakar mobil pada massanya. Plot sebar yang dihasilkan (atau scatterplot petak pencar) diwakili
dalam gambar. 2.

> qplot(wt, mpg, data=mtcars)

Anda juga dapat menambahkan tampilan warna dari waktu akselerasi seperempat mil (qsec):

> qplot(wt, mpg, data=mtcars, color=qsec)

Saat memvisualisasikan, Anda juga dapat mengubah data:

> qplot(log(wt), mpg - 10, data=mtcars)

Dalam beberapa kasus, pembagian warna diskrit terlihat lebih representatif daripada kontinu. Misalnya, jika kita ingin menampilkan informasi tentang jumlah silinder dalam warna alih-alih waktu akselerasi, maka kita perlu menunjukkan bahwa nilainya diskrit (Gbr. 3):

> qplot(wt, mpg, data=mtcars, warna=faktor(cyl))

Anda juga dapat mengubah ukuran titik menggunakan, misalnya, size=3 . Jika Anda akan mencetak grafik pada printer hitam putih, lebih baik tidak menggunakan warna, tetapi ubah bentuk penanda tergantung pada faktornya. Ini dapat dilakukan dengan mengganti color=factor(cyl) dengan shape=factor(cyl) .
Jenis plot ditentukan menggunakan parameter geom, dan dalam kasus plot pencar, nilai parameter ini adalah "poin" .

Sekarang katakanlah kita hanya ingin membuat histogram dari jumlah mobil dengan nilai silinder yang sesuai:

> qplot(faktor(cyl), data=mtcars, geom="bar") > qplot(faktor(cyl), data=mtcars, geom="bar", color=factor(cyl)) > qplot(faktor(cyl) , data=mtcars, geom="bar", isi=faktor(cyl))

Panggilan pertama cukup menggambar tiga histogram untuk nilai silinder yang berbeda. Saya harus mengatakan bahwa upaya pertama untuk memberi warna pada histogram tidak akan menghasilkan hasil yang diharapkan - bilah hitam akan tetap hitam, mereka hanya akan mendapatkan garis berwarna. Tetapi panggilan terakhir ke qplot akan menghasilkan histogram yang indah, seperti yang ditunjukkan pada gambar. 4.

Harus ada kejelasan di sini. Faktanya adalah bahwa objek yang kita buat saat ini bukanlah histogram dalam arti kata yang sebenarnya. Biasanya, histogram dipahami sebagai tampilan serupa untuk data kontinu. Dalam bahasa Inggris grafik batang(ini yang baru saja kami lakukan) dan histogram adalah dua konsep yang berbeda (lihat artikel Wikipedia yang relevan). Di sini, dengan berat hati, saya akan menggunakan kata "histogram" untuk kedua konsep, percaya bahwa sifat data berbicara sendiri.

Jika kita kembali ke ara. 1, ggplot2 menyediakan beberapa opsi berguna untuk pemosisian plot (nilai defaultnya adalah position="stack"):

> qplot(kejelasan, data=berlian, geom="bar", isi=potong, posisi="menghindar") > qplot(kejelasan, data=berlian, geom="bar", isi=potong, posisi="isi") > qplot(kejelasan, data=berlian, geom="bar", isi=potong, posisi="identitas")

Opsi pertama dari opsi yang diusulkan membangun diagram berdampingan, seperti yang ditunjukkan pada Gambar. 5, yang kedua menunjukkan bagian berlian dengan kualitas potongan berbeda dalam jumlah total berlian dengan kejernihan tertentu (Gbr. 6).

Sekarang pertimbangkan contoh histogram nyata:

> qplot(karat, data=berlian, geom="histogram", bandwidth=0,1) > qplot(karat, data=berlian, geom="histogram", bandwidth=0,05)

Di sini parameter bandwidth hanya menunjukkan seberapa lebar pita di histogram. Histogram menunjukkan berapa banyak data dalam rentang mana. Hasilnya disajikan dalam gambar. 7 dan 8.

Kadang-kadang, ketika kita perlu membuat model (linier atau, katakanlah, polinomial), kita dapat melakukannya dengan benar di qplot dan lihat hasilnya. Misalnya, kita dapat memplot mpg versus massa dengan langsung di atas plot pencar:

> qplot(wt, mpg, data=mtcars, geom=c("titik", "mulus"))

Secara default, regresi polinomial lokal (method="loess") akan digunakan sebagai model. Hasil pekerjaan akan terlihat seperti yang ditunjukkan pada Gambar. 9, di mana bilah abu-abu tua adalah kesalahan standar. Ini ditampilkan secara default, Anda dapat mematikan tampilannya dengan menulis se=FALSE .

Jika kita ingin mencoba merentangkan model linier pada data ini, maka ini dapat dilakukan hanya dengan menentukan method=lm (Gbr. 10).

Dan terakhir, tentu saja, Anda perlu menunjukkan cara membuat diagram lingkaran:

>t<- ggplot(mtcars, aes(x=factor(1), fill=factor(cyl))) + geom_bar(width=1) >t + coord_polar(theta="y")

Di sini kita akan menggunakan fungsi ggplot yang lebih fleksibel. Cara kerjanya seperti ini: pertama, kami membuat grafik yang menampilkan proporsi mobil dengan jumlah silinder berbeda dalam massa total (Gbr. 11), lalu kami menerjemahkan grafik tersebut menjadi koordinat kutub (Gbr. 12).

Alih-alih sebuah kesimpulan

Sekarang kita sudah terbiasa menggunakan R. Apa selanjutnya? Jelas bahwa fitur paling dasar ggplot2 diberikan di sini dan masalah yang terkait dengan vektorisasi dipertimbangkan. Ada beberapa buku bagus tentang R yang layak disebut, dan buku-buku itu tentu saja lebih layak untuk dikonsultasikan daripada layanan perusahaan dengan kebaikan yang sangat obsesif. Pertama, ada The Art of R Programming karya Norman Matloff. Jika Anda sudah memiliki pengalaman pemrograman di R, maka The R Inferno yang ditulis oleh Patrick Burns akan berguna. Buku klasik Perangkat Lunak untuk Analisis Data oleh John Chambers juga cukup tepat.

Jika kita berbicara tentang visualisasi dalam R, maka ada buku bagus R Graphics Cookbook oleh W. Chang (Winston Chang). Contoh ggplot2 dalam artikel ini diambil dari Tutorial: ggplot2 . Sampai jumpa di artikel berikutnya "Analisis Data dan Pembelajaran Mesin di R"!

"ANALISIS STATISTIK DAN VISUALISASI DATA MENGGUNAKAN R akar rumput buah-buahan dedaunan Heidelberg - London - Togliatti 2014,..."

-- [ Halaman 1 ] --

S.E. Mastitsky, V.K. Shitikov

ANALISIS STATISTIK DAN

VISUALISASI DATA DENGAN R

dedaunan buah akar rumput

Heidelberg – London – Tolyatti

2014, Sergey Eduardovich Mastitsky, Vladimir Kirillovich Shitikov

Situs web: http://r-analytics.blogspot.com

Karya ini didistribusikan di bawah lisensi

Creative Commons "Atribusi - Non-komersial

gunakan – Istilah yang sama 4.0 Seluruh Dunia”. Di bawah lisensi ini, Anda dapat dengan bebas menyalin, mendistribusikan, dan memodifikasi karya ini, asalkan penulis dan sumbernya diidentifikasi dengan jelas. Jika Anda memodifikasi karya ini atau menggunakannya dalam karya Anda, Anda hanya boleh mendistribusikan hasilnya di bawah lisensi yang sama atau serupa. Dilarang menggunakan karya ini untuk tujuan komersial tanpa persetujuan dari penulis. Untuk informasi lebih lanjut tentang lisensi, silakan kunjungi www.creativecommons.com

Silakan lihat buku ini sebagai berikut:

Mastitsky S.E., Shitikov V.K. (2014) Analisis Statistik dan Visualisasi Data dengan R.

EBuku, alamat akses:

http://r-analytics.blogspot.com

KATA PENGANTAR 5

1. KOMPONEN UTAMA LINGKUNGAN STATISTIK R 8


1.1. Sejarah kemunculan dan prinsip dasar organisasi 8 lingkungan R

1.2. Bekerja dengan antarmuka konsol perintah R 11

1.3. Bekerja dengan menu paket R Commander 13

1.4. Objek, paket, fungsi, perangkat 17

2. DESKRIPSI BAHASA R 23

2.1. R 23 Tipe Data

2.2. Vektor dan matriks 24

2.3. Faktor 29

2.4. Daftar dan tabel 31

2.5. Mengimpor data ke R 37

2.6. Representasi tanggal dan waktu; deret waktu 40

2.7. Organisasi perhitungan: fungsi, cabang, loop 46

2.8. Perhitungan vektor dalam R menggunakan fungsi apply-50

3. FITUR GRAFIS DASAR R 58

3.1. plot() scatterplots dan parameter plotting 58 fungsi

3.2. Histogram, Fungsi Kepadatan Kernel, dan Fungsi 66 cdplot()

3.3. Rentang Grafik 74

3.4. Bagan pai dan batang 77

3.5. Cleveland dan petak sebar 1D 84

4. STATISTIK DESKRIPTIF DAN FITTING 97

DISTRIBUSI

–  –  –

KATA PENGANTAR

Salah satu alat utama untuk memahami dunia adalah pemrosesan data yang diterima seseorang dari berbagai sumber. Inti dari analisis statistik modern adalah proses interaktif yang terdiri dari studi, visualisasi, dan interpretasi aliran informasi yang masuk.

Sejarah 50 tahun terakhir juga merupakan sejarah perkembangan teknologi analisis data.

Salah satu penulis dengan penuh kasih mengenang akhir tahun 1960-an dan program perhitungan korelasi pasangan pertamanya, yang diketik dengan pin logam pada "bidang operasi" dari 150 sel komputer pribadi Promin-2 dengan berat lebih dari 200 kg.

Saat ini, komputer berkinerja tinggi dan terjangkau perangkat lunak memungkinkan untuk menerapkan siklus penuh dari proses teknologi informasi, yang secara umum terdiri dari langkah-langkah berikut:

° akses ke data yang diproses (memuatnya dari sumber yang berbeda dan melengkapi satu set tabel sumber yang saling berhubungan);

° mengedit indikator yang dimuat (mengganti atau menghapus nilai yang hilang, mengubah fitur menjadi bentuk yang lebih nyaman);

° anotasi data (untuk mengingat setiap bagian data);

° menerima informasi Umum tentang struktur data (perhitungan statistik deskriptif untuk mengkarakterisasi indikator yang dianalisis);

° representasi grafis dari data dan hasil kalkulasi dalam bentuk informatif yang dapat dimengerti (satu gambar terkadang bernilai seribu kata);

° pemodelan data (menemukan ketergantungan dan pengujian hipotesis statistik);

° penyajian hasil (penyiapan tabel dan bagan dengan kualitas publikasi yang dapat diterima).

Dalam kondisi saat ini terdapat puluhan paket layanan bagi pengguna program aplikasi, masalah pilihan relevan (terkadang tragis, jika kita mengingat "keledai buridan"): perangkat lunak analisis data mana yang lebih disukai untuk pekerjaan praktis Anda? Ini biasanya mempertimbangkan secara spesifik masalah yang dipecahkan, efisiensi pengaturan algoritme pemrosesan, biaya pembelian program, serta selera dan preferensi pribadi analis. Pada saat yang sama, misalnya, template Statistica dengan rangkaian tombol menu mekanisnya tidak selalu dapat memuaskan peneliti kreatif yang lebih memilih untuk mengontrol kemajuan proses komputasi secara mandiri. Menggabungkan Berbagai jenis analisis, memiliki akses ke hasil antara, mengontrol gaya tampilan data, menambahkan ekstensi Anda sendiri modul perangkat lunak dan laporan akhir dapat disiapkan dalam bentuk yang diperlukan oleh sistem komputasi komersial yang menyertakan alat bahasa perintah tingkat tinggi seperti Matlab, SPSS, dll. -platform statistik tujuan.



Saat ini, R adalah pemimpin yang tak terbantahkan di antara sistem analisis statistik yang didistribusikan secara bebas, sebagaimana dibuktikan, misalnya, oleh fakta bahwa pada tahun 2010 sistem R menjadi pemenang kompetisi perangkat lunak open source tahunan Bossie Awards dalam beberapa kategori. Universitas terkemuka di dunia, analis dari perusahaan terbesar dan pusat penelitian terus menggunakan R saat melakukan perhitungan ilmiah dan teknis dan membuat proyek informasi besar. Pengajaran statistik yang tersebar luas berdasarkan paket lingkungan ini dan dukungan penuh dari komunitas ilmiah telah mengarah pada fakta bahwa membawa skrip R secara bertahap menjadi "standar" yang diakui secara universal baik dalam publikasi jurnal maupun dalam komunikasi informal antara ilmuwan di seluruh dunia. dunia.

Hambatan utama bagi pengguna berbahasa Rusia dalam menguasai R, tentu saja, hampir semua dokumentasi untuk lingkungan ini ada dalam bahasa Inggris. Baru sejak 2008, melalui upaya A.V. Shipunova, E.M. Baldina, S.V. Petrova, I.S. Zaryadova, A.G. Bukhovets dan penggemar lainnya, manual metodologi dan buku muncul dalam bahasa Rusia (tautan ke sana dapat ditemukan di daftar referensi di akhir buku ini; tautan ke sumber daya pendidikan, yang penulisnya memberikan kontribusi yang layak untuk promosi R di antara pengguna berbahasa Rusia).

Manual ini merangkum serangkaian posting metodis yang diterbitkan oleh salah satu penulis sejak 2011 di blog “R: Analisis dan Visualisasi Data”

(http://r-analytics.blogspot.com). Bagi kami, tampaknya bijaksana untuk menyajikan semua materi yang agak terfragmentasi ini untuk kenyamanan pembaca dalam bentuk terkonsentrasi, serta memperluas beberapa bagian untuk kelengkapan.

Tiga bab pertama berisi instruksi terperinci untuk bekerja dengan komponen interaktif R, deskripsi terperinci tentang bahasa dan fitur grafis dasar lingkungan.

Bagian buku ini cukup mudah diakses oleh pemula di bidang pemrograman, meskipun pembaca yang sudah terbiasa dengan bahasa R dapat menemukan fragmen kode yang menarik di sana atau menggunakan deskripsi parameter grafis yang disediakan sebagai referensi.

Bab-bab berikut (4-8) menjelaskan prosedur umum untuk pemrosesan data dan membangun model statistik, yang diilustrasikan oleh beberapa lusin contoh. Ini termasuk Deskripsi Singkat algoritma analisis, hasil utama yang diperoleh dan kemungkinan interpretasinya. Kami mencoba, sejauh mungkin, untuk melakukannya tanpa penyalahgunaan pergantian kata "ritual", karakteristik dari banyak manual statistik terapan, mengutip teorema terkenal dan membawa formula perhitungan multi-level. Penekanan ditempatkan terutama pada penggunaan praktis- agar pembaca yang berpedoman pada apa yang telah dibacanya dapat menganalisis datanya dan mempresentasikan hasilnya kepada rekan kerja.

Bagian-bagian dari bagian ini dibangun sebagai kompleksitas dari materi yang disajikan.

Bab 4 dan 5 ditujukan untuk pembaca yang tertarik pada statistik hanya dalam kerangka kuliah universitas awal. Dalam bab 6 dan 7, dalam kerangka teori terpadu model linier umum, analisis dispersi dan regresi disajikan dan berbagai algoritme untuk mempelajari dan mengidentifikasi model secara struktural disajikan. Bab 8 didedikasikan untuk beberapa orang metode modern konstruksi dan analisis model regresi umum.

Karena peneliti terus-menerus tertarik pada analisis spasial dan menampilkan hasilnya pada peta dan diagram geografis, Bab 9 memberikan beberapa contoh teknik visualisasi tersebut.

Kami mengarahkan panduan metodis kami kepada mahasiswa, mahasiswa pascasarjana, serta ilmuwan muda dan mapan yang ingin mempelajari cara menganalisis dan memvisualisasikan data menggunakan lingkungan R. Kami berharap pada akhir membaca panduan ini Anda akan memiliki pemahaman tentang bagaimana R berfungsi, di mana Anda bisa mendapatkan informasi lebih lanjut, serta cara menangani tugas analisis data yang sederhana dan cukup rumit.

File dengan skrip kode R untuk semua bab buku, serta tabel data awal yang diperlukan untuk pelaksanaannya, tersedia secara gratis untuk diunduh dari repositori GitHub https://github.com/ranalytics/r-tutorials, seperti serta dari situs web Institut Ekologi Cekungan Volga dari Akademi Ilmu Pengetahuan Rusia di tautan http://www.ievbras.ru/ecostat/Kiril/R/Scripts.zip.

Perlu dicatat bahwa teks dalam manual ini disajikan dalam edisi penulis, dan oleh karena itu, terlepas dari upaya terbaik kami, ada kemungkinan kesalahan ketik, ketidakakuratan tata bahasa, dan frasa yang gagal di dalamnya. Kami akan berterima kasih kepada Anda, Pembaca, karena melaporkan ini, serta kekurangan lain yang terdeteksi melalui email [email dilindungi] Kami juga akan berterima kasih atas komentar dan saran lain yang mungkin Anda miliki terkait pekerjaan ini.

–  –  –

1. KOMPONEN UTAMA LINGKUNGAN STATISTIK R

1.1. Sejarah kemunculan dan prinsip dasar pengorganisasian lingkungan R Sistem analisis statistik dan visualisasi data R terdiri dari bagian-bagian utama berikut:

° bahasa pemrograman tingkat tinggi R, yang memungkinkan satu baris untuk mengimplementasikan berbagai operasi dengan objek, vektor, matriks, daftar, dll.;

° sekumpulan besar fungsi pemrosesan data yang dikumpulkan dalam paket (paket) terpisah;

° sistem pendukung lanjutan yang mencakup pembaruan komponen lingkungan, bantuan online, dan berbagai sumber daya pendidikan yang dirancang untuk pembelajaran awal R dan saran selanjutnya tentang kesulitan yang muncul.

Awal perjalanan dimulai pada tahun 1993, ketika dua ilmuwan muda Selandia Baru, Ross Ihaka dan Robert Gentleman, mengumumkan perkembangan baru mereka, yang mereka sebut R. Mereka mengambil dasar bahasa pemrograman dari sistem pemrosesan data statistik komersial canggih S - PLUS dan menciptakan implementasi open source gratisnya, yang berbeda dari nenek moyangnya dalam arsitektur modular yang mudah dikembangkan. Segera sistem terdistribusi untuk menyimpan dan mendistribusikan paket ke R, yang dikenal dengan akronim "CRAN" (Jaringan Arsip R Komprehensif - http://cran.r-project.org), muncul, gagasan utama pengorganisasian yang merupakan perluasan konstan, pengujian kolektif, dan diseminasi operasional alat pemrosesan data terapan.

Ternyata produk dari upaya berkelanjutan dan terkoordinasi dengan baik dari "kecerdasan kolektif" yang kuat dari ribuan pengembang intelektual tanpa pamrih ternyata jauh lebih efektif daripada program statistik komersial, yang biaya lisensinya bisa mencapai beberapa ribu dolar. . Karena R adalah bahasa favorit ahli statistik profesional, semuanya prestasi baru-baru ini ilmu statistik dengan sangat cepat tersedia untuk pengguna R di seluruh dunia dalam bentuk perpustakaan tambahan. Tidak ada sistem analisis statistik komersial yang berkembang begitu pesat saat ini. R memiliki banyak pengguna yang melaporkan bug ke penulis perpustakaan tambahan dan sistem R itu sendiri, yang segera diperbaiki.

Bahasa komputasi R, meskipun membutuhkan upaya untuk menguasainya, keterampilan pencarian yang luar biasa, dan memori ensiklopedis, memungkinkan Anda dengan cepat melakukan perhitungan yang hampir "tidak ada habisnya seperti atom" dalam keanekaragamannya. Hingga Juli 2014, penggemar di seluruh dunia telah menulis 6.739 pustaka tambahan untuk R, termasuk 137.506 fungsi (lihat di bawah).

http://www.rdocumentation.org), yang secara signifikan memperluas kemampuan dasar sistem. Sangat sulit membayangkan kelas metode statistik mana pun yang belum diimplementasikan saat ini dalam bentuk paket R, termasuk, tentu saja, seluruh "kumpulan pria": model linier dan umum, model regresi non-linier, percobaan desain, analisis deret waktu, uji parametrik dan nonparametrik klasik, statistik Bayesian, analisis kluster, dan metode pemulusan. Dengan bantuan alat visualisasi yang canggih, hasil analisis dapat diringkas dalam bentuk berbagai grafik dan bagan. Selain statistik tradisional, fungsionalitas yang dikembangkan mencakup sekumpulan besar algoritme untuk matematika numerik, metode pengoptimalan, penyelesaian persamaan diferensial, pengenalan pola, dll. Ahli genetika dan sosiolog, ahli bahasa dan psikolog, ahli kimia dan dokter, spesialis teknologi GIS dan Web.

Dokumentasi "eksklusif" tentang R sangat banyak dan tidak selalu ditulis dengan masuk akal (menurut tradisi aneh literatur berbahasa Inggris, terlalu banyak kata dihabiskan untuk mendeskripsikan kebenaran yang sepele, sementara poin-poin penting disingkirkan dalam twister lidah). Namun, selain itu, penerbit terkemuka dunia (Springer, Cambridge University Press dan Chapman & Hall / CRC) atau hanya kelompok peminat individu telah menerbitkan sejumlah besar buku yang menjelaskan berbagai aspek analisis data dalam R (lihat, misalnya , daftar referensi di website "Encyclopedia of Psychodiagnostics", http://psylab.info/R: Literature). Selain itu, ada beberapa forum pengguna R internasional dan Rusia yang aktif di mana setiap orang dapat meminta bantuan untuk suatu masalah. Dalam daftar referensi, kami menyediakan beberapa ratus buku dan tautan Internet yang kami sarankan untuk Anda rujuk. Perhatian khusus saat belajar R

pembelajaran langsung kerja praktek dalam R terdiri dari a) menguasai konstruksi bahasa R dan mengenal fitur fungsi pemanggilan yang melakukan analisis data, dan b) memperoleh keterampilan dalam bekerja dengan program yang menerapkan metode khusus untuk menganalisis dan memvisualisasikan data.

Pilihan alat antarmuka pengguna R bersifat ambigu dan sangat bergantung pada selera pengguna. Tidak ada konsensus bahkan di antara para ahli yang berwibawa.

Beberapa percaya bahwa tidak ada yang lebih baik dari antarmuka standar konsol R. Yang lain percaya bahwa untuk pekerjaan yang nyaman, ada baiknya menginstal salah satu lingkungan pengembangan terintegrasi (IDE) yang tersedia dengan serangkaian menu tombol yang kaya. Misalnya, pilihan bagus adalah lingkungan pengembangan terintegrasi gratis RStudio.

Di bawah ini kami akan fokus pada deskripsi versi konsol dan bekerja dengan R Commander, tetapi pencarian lebih lanjut pembaca dapat dibantu dengan ikhtisar berbagai versi IDE, yang disajikan dalam lampiran buku oleh Shipunov et al. (2014).

Salah satu ahli R, Joseph Rickert, berpendapat bahwa proses pembelajaran R dapat dibagi ke dalam tahapan-tahapan berikut (untuk lebih jelasnya lihat.

artikelnya di inside-r.org):

1. Keakraban dengan budaya umum komunitas R dan lingkungan pemrograman tempat bahasa R dikembangkan dan dioperasikan Mengunjungi sumber daya utama dan tambahan serta menguasai buku teks pengantar yang baik. Menginstal R di komputer pengguna dan menjalankan skrip pengujian pertama.

2. Membaca data dari file sistem operasi standar dan dengan percaya diri menggunakan fungsi-R untuk melakukan serangkaian prosedur analisis statistik terbatas yang familiar bagi pengguna.

3. Menggunakan struktur dasar bahasa R untuk menulis program sederhana.

Menulis fungsi Anda sendiri. Biasakan diri Anda dengan struktur data yang dapat digunakan R dan fitur bahasa yang lebih canggih. Bekerja dengan database, halaman web, dan sumber data eksternal.

4. Menulis program kompleks dalam bahasa R. Pengembangan mandiri dan pemahaman mendalam tentang struktur objek yang disebut kelas S3 dan S4.

5. Pengembangan program profesional dalam bahasa R. Pembuatan sendiri modul perpustakaan tambahan untuk R.

Sebagian besar pengguna R biasa berhenti di tahap 3 karena

ilmu yang diperoleh saat ini cukup bagi mereka untuk melakukan tugas statistik dalam profil kegiatan profesional utama mereka.

Tentang volume ini, kami menyediakan deskripsi bahasa R dalam kerangka panduan ini.

Menginstal dan mengonfigurasi lingkungan statistik dasar R sangatlah mudah. Pada Juli 2014, versi saat ini adalah R 3.1.1 untuk Windows 32 dan 64-bit (kit distribusi untuk semua sistem operasi umum lainnya juga tersedia). Anda dapat mengunduh kit distribusi sistem bersama dengan set dasar 29 paket (54 megabita) sepenuhnya gratis dari situs proyek utama http://cran.r-project.org atau "mirror" Rusia http:/ /cran.gis-lab.info. Proses penginstalan sistem dari distribusi yang diunduh tidak menimbulkan kesulitan dan tidak memerlukan komentar khusus.

Untuk kenyamanan menyimpan skrip, data awal, dan hasil perhitungan, ada baiknya mengalokasikan direktori kerja khusus di komputer pengguna. Sangat tidak diinginkan untuk menggunakan karakter Cyrillic atas nama direktori kerja.

Dianjurkan untuk menempatkan jalur ke direktori kerja dan beberapa opsi pengaturan lainnya dengan mengubahnya menggunakan editor teks apa pun berkas sistem C:\Program Files\R\Retc\Rprofile.site (mungkin lokasinya berbeda di komputer Anda). Pada contoh di bawah ini, garis yang dimodifikasi ditandai dengan warna hijau.

Selain menentukan direktori kerja, baris ini menentukan tautan ke sumber Rusia untuk mengunduh paket R dan mulai otomatis Komandan R.

Daftar file rprofile.site # Apa pun yang diikuti dengan karakter komentar "#" akan diabaikan oleh lingkungan # opsi(papersize="a4") # opsi(editor="notepad") # opsi(pager="internal") # atur tampilan jenis informasi latar belakang# opsi(help_type="teks") opsi(help_type="html") # atur lokasi perpustakaan lokal #.Library.site - file.path(chartr("\\", "/", R.home()) , "perpustakaan situs") # Mulai menu R Commander saat memuat lingkungan # Beri tanda "#" jika Rcmdr tidak diperlukan opsi lokal(( old - getOption("defaultPackages")(defaultPackages = c(old, "Rcmdr") ) )) # Tentukan CRAN mirror local((r - getOption("repos") r["CRAN"] - "http://cran.gis-lab" options(repos=r))) # Tentukan path ke direktori kerja (yang lain di komputer Anda) setwd("D:/R/Process/Resampling") Sejauh menyangkut "tutorial pengantar yang baik", rekomendasi kami akan bersifat subjektif. Namun demikian, pengantar R yang diakui secara resmi oleh W. Venables dan D. Smith (Venables, Smith, 2014) dan buku oleh R. Kabakov (Kabaco, 2011) harus disebutkan, sebagian karena ada terjemahan bahasa Rusia darinya. Kita juga harus memperhatikan "instruksi untuk boneka" tradisional (Meys, Vries, 2012) dan manual (Lam, 2010), yang ditulis dengan kesombongan Belanda yang patut ditiru. Dari kursus pengantar bahasa Rusia, yang paling lengkap adalah buku karya I. Zaryadov (2010a) dan A. Shipunov et al. (2014).

1.2. Bekerja dengan Shell Antarmuka R Lingkungan statis R mengeksekusi setiap set instruksi bahasa R yang bermakna yang terkandung dalam file skrip atau diwakili oleh urutan perintah yang diberikan dari konsol. Bekerja dengan konsol bisa jadi sulit bagi pengguna modern yang terbiasa dengan menu tombol tekan, karena Anda perlu menghafal sintaks dari masing-masing perintah. Namun, setelah memperoleh beberapa keterampilan, ternyata banyak prosedur pemrosesan data dapat dilakukan lebih cepat dan lebih mudah daripada, katakanlah, dalam paket Statistica yang sama.

Konsol R adalah kotak dialog tempat pengguna memasukkan perintah dan melihat hasil eksekusinya. Jendela ini segera muncul saat lingkungan dimulai (misalnya, setelah mengklik pintasan R di desktop). Selain itu, antarmuka pengguna grafis R standar (RGui) menyertakan jendela pengeditan skrip dan jendela pop-up dengan informasi grafis (gambar, diagram, dll.)

Dalam mode perintah, R dapat bekerja, misalnya, seperti kalkulator biasa:

Di sebelah kanan karakter prompt, pengguna dapat memasukkan ekspresi aritmatika arbitrer, tekan tombol Enter, dan langsung dapatkan hasilnya.

Misalnya, pada perintah kedua pada gambar di atas, kami menggunakan fungsi faktorial dan sinus, serta angka bawaan p. Hasil yang diperoleh dalam bentuk teks dapat dipilih dengan mouse dan disalin melalui clipboard ke file teks apa pun dari sistem operasi (misalnya, dokumen Word).

Saat bekerja dengan RGui, kami merekomendasikan dalam semua kasus untuk membuat file dengan skrip (yaitu, urutan perintah R yang melakukan tindakan tertentu). Biasanya, ini adalah file teks biasa dengan nama apa pun (tetapi, untuk kepastian, lebih baik dengan ekstensi *.r), yang dapat dibuat dan diedit dengan editor biasa seperti Notepad. Jika file ini ada, sebaiknya letakkan di direktori kerja, lalu setelah memulai R dan memilih item menu "File Open Script", konten file ini akan muncul di jendela "R Editor". Anda dapat menjalankan urutan perintah skrip dari item menu "Edit Jalankan Semua".

Anda juga dapat memilih fragmen yang bermakna dari mana saja dari skrip yang disiapkan dengan mouse (dari nama satu variabel ke seluruh konten) dan meluncurkan blok ini untuk dieksekusi. Ini dapat dilakukan dengan empat cara yang mungkin: dari utama dan menu konteks, kombinasi tombol Ctrl+R, atau tombol pada toolbar.

Pada gambar yang ditunjukkan, tindakan berikut dilakukan:

° R-objek gadm diunduh dari sumber Internet gratis Wilayah Administratif Global (GADM) dengan data tentang pembagian wilayah Republik Belarus;

° Nama kota dalam bahasa latin diganti dengan padanan yang biasa digunakan;

° menggunakan fungsi spplot() dari paket sp, peta administratif republik ditampilkan di jendela grafik, yang dapat disalin ke clipboard menggunakan menu atau disimpan sebagai file grafik meta atau raster standar.

Kami akan mempertimbangkan arti masing-masing operator secara lebih rinci di bagian berikut, tetapi di sini kami akan memperhatikan fakta bahwa dengan memilih skrip dan menjalankan kombinasi karakter [email dilindungi], kami akan menerima di jendela konsol seluruh kumpulan data untuk objek, dan perintah, yang terdiri dari simbol yang dipilih gadm, [email dilindungi]$NAME_1 akan memberi kita daftar nama pusat admin sebelum dan sesudah diubah.

Dengan demikian, Editor R membuatnya mudah untuk menavigasi skrip, mengedit dan menjalankan kombinasi perintah apa pun, mencari dan mengganti bagian tertentu dari kode. Add-in RStudio yang disebutkan di atas memungkinkan Anda untuk melakukan penyorotan sintaks kode tambahan, penyelesaian otomatisnya, "mengemas" urutan perintah ke dalam fungsi untuk penggunaan selanjutnya, bekerja dengan dokumen Sweave atau TeX, dan operasi lain yang akan berguna untuk pengguna tingkat lanjut.

R memiliki bahan bantuan bawaan yang ekstensif yang dapat diakses langsung dari RGui.

Mengeluarkan perintah help.start() dari konsol membuka halaman di browser Internet Anda yang menyediakan akses ke semua sumber daya bantuan: manual dasar, materi penulis, jawaban atas kemungkinan pertanyaan, daftar perubahan, tautan ke bantuan pada objek R lainnya, dll. .d.:

Bantuan pada fungsi individu dapat diperoleh dengan menggunakan perintah berikut:

° bantuan("foo") atau? foo - bantuan pada fungsi foo (tanda kutip adalah opsional);

° help.search("foo") atau ?? foo - cari semua file bantuan yang berisi foo;

° example("foo") – contoh penggunaan fungsi foo;

° RSiteSearch("foo") – mencari tautan di manual online dan arsip milis;

° apropos("foo", mode="function") – daftar semua fungsi dengan kombinasi foo;

° sketsa("foo") - Daftar manual tentang topik foo.

1.3. Bekerja dengan menu paket R Commander Alat yang nyaman untuk menguasai kalkulasi dalam R untuk pengguna pemula adalah R Commander - tidak tergantung platform GUI dalam gaya menu tombol, diimplementasikan dalam paket Rcmdr. Ini memungkinkan Anda untuk melakukan serangkaian besar prosedur analisis statistik tanpa harus mempelajari fungsi dalam bahasa perintah sebelumnya, tetapi tanpa disadari berkontribusi untuk ini, karena ini menampilkan semua instruksi yang dijalankan di jendela khusus.

Anda dapat menginstal Rcmdr, seperti ekstensi lainnya, dari menu konsol R "Paket Instal paket", tetapi lebih baik dengan menjalankan perintah:

install.packages("Rcmdr", dependencies=TRUE) di mana mengaktifkan opsi dependensi akan menyebabkan instalasi terjamin dari set lengkap paket lain yang mungkin diperlukan saat memproses data melalui menu Rcmdr.

R Commander diluncurkan saat paket Rcmdr dimuat melalui menu "Paket Termasuk paket" atau perintah library(Rcmdr).Jika karena alasan tertentu diputuskan untuk menganalisis data secara eksklusif menggunakan R Commander, maka untuk unduhan otomatis shell grafis ini, ketika Anda memulai R, Anda perlu mengedit file Rprofile.site seperti yang ditunjukkan pada bagian 1.1.

Kami akan mempertimbangkan bekerja di R Commander menggunakan contoh analisis korelasi data tentang tingkat infeksi moluska bivalvia Dreissena polymorpha dengan ciliates Conchophthirus acuminatus di tiga danau di Belarus (Mastitsky S.E. // BioInvasions Records.

2012.V.1.P 161–169). Pada tabel dengan data awal yang kami unduh dari situs web figshare, kami akan tertarik pada dua variabel: panjang cangkang moluska (panjang ZM, mm) dan jumlah ciliate yang ditemukan di moluska (nomor CA). Contoh ini akan dibahas secara rinci di Bab 4 dan 5, jadi di sini kita tidak akan membahas arti analisis secara rinci, tetapi akan fokus pada teknik bekerja dengan Rcmdr.

Selanjutnya, kami menentukan mode pemuatan data dan alamat tautan di Internet di jendela pop-up. Sangat mudah untuk melihat bahwa kami dapat dengan mudah memuat data yang sama dari lokal file teks, Buku kerja Excel atau tabel basis data. Untuk memastikan bahwa data kami dimuat dengan benar (atau edit jika perlu), klik tombol "Lihat data".

Jendela definisi organisasi data Fragmen dari tabel yang dimuat

Pada tahap kedua, di menu "Statistik", pilih "Uji korelasi":

Kami memilih sepasang variabel yang berkorelasi dan di Jendela Keluaran kami memperoleh koefisien korelasi Pearson (R = 0,467), tingkat signifikansi statistik yang dicapai (nilai p 2,2e-16) dan batas kepercayaan 95%.

–  –  –

Hasil yang diperoleh dapat dengan mudah disalin dari jendela keluaran melalui clipboard.

Sekarang kita dapatkan gambar grafis ketergantungan korelasi. Pilih sebaran CAnumber versus panjang ZM dan sediakan dengan plot tepi rentang, garis tren kuadrat terkecil linier (berwarna hijau), garis yang dihaluskan dengan metode regresi lokal (berwarna merah), diwakili dengan wilayah kepercayaan (garis putus-putus). Untuk masing-masing dari tiga danau (variabel Danau), titik percobaan akan diwakili oleh simbol yang berbeda.

–  –  –

Grafik disalin dari jendela grafik R Commander Sama seperti semua penekanan tombol menu R Commander, instruksi R muncul di jendela skrip.

Dalam kasus kami, mereka terlihat seperti ini:

Kerang read.table("http://figshare.com/media/download/98923/97987", header=TRUE, sep="\t", na.strings="NA", dec=".", strip. white=TRUE) cor.test(Clam$CAnumber, Clam$ZMlength, alternative="two.sided", method="pearson") scatterplot(CAnumber ~ ZMlength | Lake, reg.line=lm, smooth=TRUE, spread= BENAR, boxplots="xy", span=0.5, ylab="Jumlah ciliates", xlab="Panjang cangkang", by.groups=FALSE, data=Moluska) Skrip itu sendiri atau hasil keluaran (atau keduanya) ) dapat disimpan dalam file dan diulang setiap saat. Hasil yang sama dapat diperoleh tanpa menjalankan R Commander dengan memuat file yang disimpan melalui konsol R.

Pada umumnya, tanpa mengetahui konstruksi bahasa R (atau hanya tidak ingin membebani memori Anda dengan mengingatnya), menggunakan Rcmdr Anda dapat melakukan pemrosesan data menggunakan hampir semua metode statistik dasar. Ini menyajikan tes parametrik dan non-parametrik, metode untuk menyesuaikan berbagai distribusi kontinu dan diskrit, analisis tabel kontingensi multivariat, analisis varians satu dimensi dan multivariat, analisis dan pengelompokan komponen utama, berbagai bentuk model regresi umum, dll. alat untuk menganalisis dan menguji model yang dihasilkan layak dipelajari dengan cermat. .

Penjelasan rinci tentang teknik bekerja dengan R Commander, serta penerapan algoritme pemrosesan data, dapat ditemukan di manual (Larson-Hall, 2009; Karp, 2014).

Namun, seperti halnya bahasa isyarat tidak dapat menggantikan komunikasi manusia dalam bahasa alami, pengetahuan tentang bahasa R secara signifikan memperluas batas kemampuan pengguna dan membuat komunikasi dengan lingkungan R menyenangkan dan mengasyikkan. Dan di sini pembuatan skrip otomatis di R Commander dapat menjadi alat yang sangat baik bagi pembaca untuk mengenal operator bahasa R dan mempelajari secara spesifik pemanggilan fungsi individu. Kami akan mengabdikan bab-bab berikutnya dari panduan ini untuk membahas prosedur pemrosesan data hanya pada tingkat konstruksi bahasa.

1.4. Objek, Paket, Fungsi, Perangkat Bahasa R milik keluarga yang disebut bahasa pemrograman berorientasi objek tingkat tinggi. Untuk non-spesialis, definisi ketat dari konsep "objek" agak abstrak. Namun, untuk kesederhanaan, Anda dapat memanggil semua yang dibuat dalam proses bekerja dengan R sebagai objek.

Ada dua jenis objek utama:

1. Objek yang ditujukan untuk penyimpanan data ("objek data") adalah variabel individual, vektor, matriks dan larik, daftar, faktor, tabel data;

2. Fungsi ("objek fungsi") adalah program bernama yang dirancang untuk membuat objek baru atau melakukan tindakan tertentu pada objek tersebut.

Objek lingkungan R, yang dimaksudkan untuk penggunaan kolektif dan gratis, dikemas dalam paket yang disatukan oleh topik atau metode pemrosesan data yang serupa. Ada beberapa perbedaan antara istilah "paket" dan "perpustakaan". Istilah "perpustakaan" mendefinisikan sebuah direktori yang mungkin berisi satu atau lebih paket. Istilah "paket" mengacu pada kumpulan fungsi, halaman manual HTML, dan sampel objek data yang ditujukan untuk pengujian atau pembelajaran.

Paket diinstal di direktori tertentu dari sistem operasi atau, dalam bentuk yang dihapus instalasinya, dapat disimpan dan didistribusikan dalam arsip *. file zip Windows (versi paket harus cocok dengan versi spesifik R Anda).

Informasi lengkap tentang paket (versi, topik utama, penulis, tanggal perubahan, lisensi, paket terkait fungsional lainnya, daftar lengkap fungsi dengan indikasi tujuannya, dll.) dapat diperoleh dengan perintah

library(help=package_name), misalnya:

library(help=Matrix) Semua paket R termasuk dalam salah satu dari tiga kategori: base ("base"), recommended ("recommended"), dan lainnya yang diinstal oleh pengguna.

Anda bisa mendapatkan daftarnya di komputer tertentu dengan mengeluarkan perintah library() atau:

diinstal.paket(prioritas = "basis") diinstal.paket(prioritas = "disarankan") # Dapatkan daftar lengkap packlist packlist - rownames(installed.packages()) # Output informasi ke clipboard dalam format excel write.table(packlist,"clipboard",sep="\t", col.names=NA) Paket dasar dan rekomendasi biasanya disertakan ke file instalasi R.

Tentu saja, tidak perlu segera menginstal banyak paket berbeda "sebagai cadangan".

Untuk menginstal sebuah paket, cukup dengan memilih item menu "Packages Install package(s)" di jendela perintah R Console atau masukkan, misalnya, perintah:

instal.paket(c("vegan", "xlsReadWrite", "mobil"))

Paket dapat diunduh, misalnya, dari "mirror" Rusia http://cran.gis-lab.info, yang nyaman untuk menggunakan edisi file Rprofile.site seperti yang ditunjukkan pada bagian 1.1.

Pilihan lain untuk menginstal paket adalah pergi ke situs http://cran.gis-lab.info/web/packages, pilih paket yang diinginkan dalam bentuk file zip dan unduh ke folder yang dipilih di komputer Anda.

Dalam hal ini, Anda dapat mempratinjau semua informasi pada paket, khususnya, deskripsi fungsi yang disertakan di dalamnya, dan memutuskan seberapa banyak Anda membutuhkannya. Selanjutnya, Anda perlu menjalankan item menu perintah "Paket Instal paket dari file zip lokal".

Saat memulai konsol RGui, hanya beberapa paket dasar yang dimuat. Untuk menginisialisasi paket lain sebelum menggunakan fungsinya secara langsung, Anda harus memasukkan pustaka perintah (nama_paket).

Anda dapat menentukan paket mana yang dimuat pada setiap saat dari sesi yang sedang berlangsung dengan mengeluarkan perintah:

sessionInfo() R versi 2.13.2 (2011-09-30) Platform: i386-pc-mingw32/i386 (32-bit)

–  –  –

paket terlampir lainnya:

Vegan_2.0-2 permutasi_0.6-3

dimuat melalui namespace (dan tidak dilampirkan):

Grid_2.13.2 lattice_0.19-33 tools_2.13.2 Tabel berikut mencantumkan (mungkin tidak lengkap) paket yang digunakan dalam skrip yang disajikan dalam buku ini:

Paket R Tujuan Paket "Basic" Konstruksi dasar R base Package compiler R compiler Satu set tabel dengan data untuk menguji dan mendemonstrasikan fungsi datasets Fungsi grafis dasar grafis Driver perangkat grafis, palet warna, font grDevices Fungsi untuk membuat lapisan grafis grid Pemrograman berorientasi objek komponen (kelas , metode metode) Fungsi untuk bekerja dengan splines regresi beda tipe splines Fungsi analisis statistik dasar stats Methods fungsi statistik class S4 stats4 Komponen antarmuka pengguna (menu, kotak pilihan, dll.) tcltk Dukungan informasi, alat administrasi dan dokumentasi Berbagai utilitas untuk debugging, I/O, pengarsipan, dan sebagainya.

Memanfaatkan paket "Direkomendasikan" Fungsi dari berbagai bootstrap dan rutinitas "jackknife" boot Berbagai algoritma klasifikasi dan pengenalan non-hierarkis Kelas algoritma partisi dan pengelompokan hierarki cluster Analisis kode dan verifikasi codetools Membaca dan menulis file dalam berbagai format (DBF, SPSS, DTA, Stata) Fungsi asing melayani pengoptimalan penghalusan kernel KernSmooth Fungsi grafis fungsionalitas yang diperluas (Sarkar, 2008) kisi Satu set fungsi data dan statistik (Venables, Ripley, 2002) Matriks MASS dan operasi vektor Matriks Model aditif dan efek campuran umum mgcv Model efek campuran linier dan nonlinier nlme Jaringan saraf propagasi langsung nnet Konstruksi pohon klasifikasi dan regresi rpart Fungsi kriging dan analisis distribusi spasial poin spasial Analisis survival (model Cox, dll.) survival Paket dipasang selama operasi adegenet Lengan algoritme analisis jarak genetik Analisis model regresi - lampiran book (Gelman, Hill , 2007) car Prosedur terkait penerapan analisis regresi korplot Tampilan grafik matriks korelasi fitdistrplus Pemasangan distribusi statistik FWDselect, Pemilihan seperangkat variabel informatif dalam model regresi packfor gamair Kumpulan data untuk menguji model aditif geosfer Estimasi jarak geografis ggplot2 Paket grafik tingkat lanjut dengan fungsi tinggi DAAG Analisis data dan fungsi grafik untuk buku (Mainonald, Braun, 2010) Kumpulan fungsi Hmisc Harrell Suplemen Buku HSAUR2 (Everitt, Hothorn, 2010) ISwR Analisis statistik primer c ke R jpeg Bekerja dengan file grafis jpeg lars Jenis regresi khusus (LARS, Lasso, dll.) lavaan Analisis konfirmasi dan model persamaan struktural lmodel2 Implementasi model regresi tipe I dan II (MA, SMA, RMA) maptools Geographic map tools mice Prosedur analisis dan pengisian missing value momen Fungsi perhitungan momen sampel nortest Kriteria untuk menguji hipotesis outlier distribusi normal Analisis outlier dalam data pastec Analisis deret spasial dan waktu dalam ekologi pls Regresi pada komponen utama pwr Estimasi kekuatan statistik hipotesis membentuk kembali Transformasi data yang fleksibel tabel robustbase Metode yang kuat untuk membangun model regresi rootSolve Menemukan akar dari suatu fungsi dengan skala Pemilihan skala warna sem Model persamaan struktural semPlot Visualisasi hubungan struktural sm Estimasi kerapatan distribusi dan metode pemulusan sp Kelas dan metode mengakses data spasial spatstat Metode statistik spasial, fit spdep model Ketergantungan spasial: metode geostatistik dan pemodelan stargazer Menampilkan informasi tentang model statistik dalam format vcd yang berbeda Visualisasikan data kategori Melakukan perhitungan pada ekologi komunitas (kemiripan, keragaman dan ukuran sarang vegan, penahbisan dan analisis multivariat) Jika kami mencoba mengunduh paket, itu belum diinstal di R, atau kami mencoba menggunakan fungsi paket yang belum dimuat, kami akan menerima pesan sistem:

sem(model, data=PoliticalDemocracy) Error: tidak dapat menemukan fungsi "sem" library(lavaan) Error di library(lavaan): tidak ada paket bernama "lavaan" pengguna paket dan dia mengerti mana yang harus diunduh dan mana yang perlu diinstal sebelumnya . Memahami cara kerja skrip membutuhkan pengetahuan tentang konstruksi bahasa R yang dijelaskan di bagian selanjutnya, tetapi pembaca yang tertarik dapat kembali ke perintah ini nanti.

instant_pkgs - function(pkgs) ( pkgs_miss - pkgs)] # Instal paket yang tidak siap untuk diunduh:

if (length(pkgs_miss) 0) ( install.packages(pkgs_miss) ) # Unduh paket yang belum diunduh:

Terlampir - pencarian() terpasang_pkgs - terpasang need_to_attach - pkgs if (panjang(need_to_attach) 0) ( for (i in 1:length(need_to_attach)) require(need_to_attach[i], character.only = TRUE) ) ) # Contoh panggilan:

instant_pkgs(c("dasar", "jpeg", "vegan"))

Anda bisa mendapatkan daftar fungsi dari setiap paket, misalnya dengan mengeluarkan perintah:

ls(pos = "package:vegan") Catatan: ls() adalah fungsi tujuan umum untuk membuat daftar objek di lingkungan tertentu. Perintah di atas menetapkan paket vegan sebagai lingkungan seperti itu. Jika perintah ini dikeluarkan tanpa parameter, kita akan mendapatkan daftar objek yang dibuat selama sesi saat ini.

Anda bisa mendapatkan daftar argumen dari parameter yang masuk dari fungsi apa pun dalam paket yang dimuat dengan mengeluarkan perintah args() .

Misalnya, saat meluncurkan fungsi derivasi model linier lm(), yang nantinya akan kita gunakan secara luas, parameter berikut ditetapkan:

Args(lm) fungsi (rumus, data, subset, bobot, na.aksi, metode = "qr", model = BENAR, x = SALAH, y = SALAH, qr = BENAR, singular.ok = BENAR, kontras = NULL, offset,...) Jika Anda memasukkan perintah yang hanya terdiri dari singkatan fungsi (misalnya, menghitung rentang interkuartil IQR), Anda bisa mendapatkan teks sumber fungsi dalam kode R:

Fungsi IQR (x, na.rm = FALSE) diff(quantile(as.numeric(x), c(0.25, 0.75), na.rm = na.rm, nama = FALSE)) Pengguna tingkat lanjut dapat memodifikasi kode ini dan "redirect" pemanggilan fungsi standar ke versi Anda.

Namun, jika kita ingin melihat kode fungsi predict(), yang digunakan untuk menghitung nilai prediksi model linier, dengan cara yang sama, kita mendapatkan:

fungsi prediksi (objek,...) UseMethod("prediksi") Dalam hal ini, prediksi() adalah fungsi "universal": bergantung pada objek model mana yang dimasukkan ke inputnya (lm untuk regresi linier, glm untuk Poisson atau logistik regresi, lme untuk model efek campuran, dll.), metode yang sesuai untuk mendapatkan nilai prediksi diperbarui.

Secara khusus, fungsi ini digunakan untuk mengimplementasikan metode berikut:

metode("memprediksi") memprediksi.ar* memprediksi.Arima* memprediksi.arima0* memprediksi.glm memprediksi.HoltWinters* memprediksi.lm memprediksi.loess* memprediksi.mlm memprediksi.nls* memprediksi.poli memprediksi.ppr* memprediksi.prcomp* predict.princomp* predict.smooth.spline* predict.smooth.spline.fit* predict.StructTS* Fungsi yang tidak terlihat diberi tanda bintang Dalam gaya S3, metode sebenarnya adalah fungsi yang dipanggil oleh fungsi umum lainnya, seperti print( ), plot() , atau summary() , bergantung pada kelas objek yang disediakan sebagai input. Pada saat yang sama, atribut kelas bertanggung jawab atas "orientasi objek", yang memastikan pengiriman yang benar dan memanggil metode yang diperlukan untuk objek ini. Jadi "fungsi-metode" untuk mendapatkan nilai prediksi dari model linier umum akan memiliki panggilan ke predict.glm(), saat menghaluskan dengan splines - predict.smooth.spline(), dll. Informasi rinci model OOP S3 dapat ditemukan di bagian bantuan S3Methods, dan model OOP S4 yang lebih canggih di bagian Metode.

Terakhir, mari kita lihat beberapa trik sederhana untuk menyimpan hasil pekerjaan yang diterima selama sesi R:

° sink(file= nama file) - menampilkan hasil eksekusi perintah selanjutnya secara real time ke file dengan nama tertentu; untuk mengakhiri perintah ini, Anda harus menjalankan perintah sink() tanpa parameter;

° save(file= nama file, daftar objek yang akan disimpan) – menyimpan objek yang ditentukan dalam file format XDR biner yang dapat digunakan pada sistem operasi apa pun;

° memuat(file= nama file) - memulihkan objek yang disimpan di lingkungan saat ini;

° simpan.gambar(file= nama file) - menyimpan semua objek yang dibuat selama pekerjaan dalam bentuk file rda khusus-R.

Contoh mentransfer tabel yang dihasilkan dengan data ke clipboard dalam format yang kompatibel dengan struktur lembar Excel diberikan di atas di bagian ini. Bab 6 akan menunjukkan contoh mentransfer data dari objek model linier ke file Word.

Lingkungan R dapat menghasilkan gambar piksel dengan kualitas yang diperlukan untuk hampir semua resolusi tampilan atau perangkat cetak, serta menyimpan jendela grafik yang dihasilkan dalam file dengan berbagai format. Ada fungsi driver untuk setiap perangkat output grafis: Anda dapat mengetik help(Devices) untuk daftar lengkap driver.

Perangkat grafis yang paling umum digunakan adalah:

° windows() - grafis Jendela jendela(layar, printer, atau metafile).

° png(), jpeg(), bmp(), tiff() - keluaran ke file bitmap dengan format yang sesuai;

° pdf(),postscript() - keluaran informasi grafis V File pdf atau PostScript.

Setelah selesai bekerja dengan perangkat output, nonaktifkan drivernya dengan perintah dev.off(). Dimungkinkan untuk mengaktifkan beberapa perangkat keluaran grafis pada saat yang sama dan beralih di antara keduanya: lihat, misalnya, bagian terkait dalam buku oleh Shipunov et al. (2012, hlm. 278).

1. DESKRIPSI BAHASA R

2.1. Tipe data R Semua objek data (dan karenanya variabel) di R dapat dibagi ke dalam kelas-kelas berikut (yaitu tipe objek):

° numerik – objek yang mencakup bilangan bulat (integer) dan bilangan real (ganda);

° logis - objek logis yang hanya mengambil dua nilai: FALSE (disingkat F) dan TRUE (T);

° karakter – objek karakter (nilai variabel ditentukan dalam tanda kutip ganda atau tunggal).

Di R, Anda dapat membuat nama untuk berbagai objek (fungsi atau variabel) dalam bahasa Latin dan Cyrillic, tetapi perlu diingat bahwa a (Cyrillic) dan a (Latin) adalah dua objek yang berbeda. Selain itu, lingkungan R peka terhadap huruf besar-kecil, yaitu. huruf kecil dan huruf besar berbeda. Nama variabel (pengidentifikasi) dalam R harus diawali dengan huruf (atau titik) dan terdiri dari huruf, angka, titik, dan garis bawah.

Dengan bantuan tim? name dapat memeriksa apakah ada variabel atau fungsi dengan nama yang diberikan.

Memeriksa apakah suatu variabel milik kelas tertentu diperiksa oleh fungsi is.numeric(object_name), is.integer(name), is.logical(name), is.character(name), dan untuk mengonversi objek ke tipe lain , Anda dapat menggunakan fungsi as.numerik (nama), as.integer(nama), as.logis(nama), as.karakter(nama).

Ada sejumlah objek khusus di R:

° Inf - infinity positif atau negatif (biasanya hasil pembagian bilangan real dengan 0);

° NA - "nilai yang hilang" (Tidak Tersedia);

° NaN - "bukan angka" (Bukan Angka).

Anda dapat memeriksa apakah suatu variabel adalah salah satu dari tipe khusus ini dengan fungsi is.nite(name), is.na(name), dan is.nan(name).

Ekspresi R adalah kombinasi elemen seperti operator penugasan, operator aritmatika atau logika, nama objek, dan nama fungsi. Hasil eksekusi ekspresi, sebagai aturan, segera ditampilkan di jendela perintah atau grafik. Namun, ketika operasi penugasan dilakukan, hasilnya disimpan di objek yang sesuai dan tidak ditampilkan di layar.

Sebagai operator penugasan di R, Anda dapat menggunakan simbol "=", atau sepasang karakter "-" (menetapkan nilai tertentu ke objek di sebelah kiri) atau "-" (memberikan nilai ke objek di sebelah kiri) Kanan). Ini dianggap gaya pemrograman yang baik untuk menggunakan "-".

Ekspresi R diatur dalam skrip per baris. Anda dapat memasukkan beberapa perintah dalam satu baris, memisahkannya dengan simbol “;“. Satu perintah juga dapat ditempatkan pada dua (atau lebih) baris.

Objek bertipe numerik dapat membentuk ekspresi menggunakan operasi aritmatika tradisional + (penjumlahan), - (pengurangan), * (perkalian), / (pembagian), ^ (eksponensial), %/% (pembagian bilangan bulat), %% (sisa) dari pembagian). Operasi memiliki prioritas normal, yaitu eksponensial dilakukan terlebih dahulu, lalu perkalian atau pembagian, lalu penjumlahan atau pengurangan. Tanda kurung dapat digunakan dalam ekspresi dan operator di dalamnya memiliki prioritas tertinggi.

Ekspresi Boolean dapat disusun menggunakan operator logika berikut:

° "Sama Dengan" == ° "Tidak sama" != ° "Kurang dari" ° "Lebih besar dari" ° "Kurang dari atau sama" = ° "Lebih besar dari atau sama" = ° "Logical AND" & ° "Logical OR" | ° "TIDAK Logis" !

SUPPORT, OUTSOURCING, DAN ADMINISTRASI DANA 2 KELOMPOK AMICORP BERDIRI DARI KERAMAHAN w w w.am icor p. c om PERUSAHAAN GROUP AMICORP BIDANG KEGIATAN ISI TENTANG PERUSAHAAN LAYANAN KAMI Layanan untuk klien korporat Layanan untuk penjualan institusi Pembuatan dan pengelolaan...»

“Lembaga Anggaran Pendidikan Negara Federal untuk Pendidikan Profesional Tinggi “Universitas Keuangan di bawah Pemerintah Federasi Rusia” Departemen “Pemasaran” ARAH PEMASARAN MODERN: TEORI, METODOLOGI, PRAKTIK MONOGRAF KOLEKTIF Di bawah redaksi umum S.V. Pengulas Karpova Moscow 2011: N.S. Perekalina - Doktor Ekonomi, Profesor, Kepala. Departemen "Pemasaran" "MATI" - Universitas Teknologi Negeri Rusia. K.E.Tsiolkovsky S.S. Solovyov ... "

“Utusan digital Malko untuk CAFE dan TEA EDUCATION: Ch. Editor: Vesela Dabova Br.4 Decemvri, 2011 Editor: Bersantai dengan teh Teodor Vasilev Gergana Ivanov Penerbit: ABB Berapa kasus di tubuh atau saat minum teh dan bagaimana semua kasus melemahkan konsumsi secangkir teh. Ada perbedaan pendapat mengenai keandalan teori Tasi, tetapi hanya ada sedikit bukti bahwa satu cangkir teh dihitung dari rezim yang ditentukan untuk ... "

«KONFERENSI ILMIAH INTERNASIONAL INTERDISIPLIN RUANG RADIKAL DI ANTARA DISIPLIN RCS 2015 KONFERENSI BUKU ABSTRAK EDITOR Romana Bokovi Miljana Zekovi Slaana Milievi NOVI SAD / SERBIA / SEPTEMBER 21-23 / 2015 Radical Space In Between Disciplines Conference Buku Abstrak Editor: Romana Bokovi S Milievi ISBN : 978-86-7892-733-1 Leyout: Maja Momirov Desain sampul: Stefan Vuji Diterbitkan oleh Departemen Arsitektur dan Urbanisme, Fakultas Ilmu Teknik,...»

"SAINT PETERSBURG STATE UNIVERSITY Fakultas Geografi dan Geoekologi Departemen Geomorfologi TESIS (pekerjaan kualifikasi akhir) dengan topik: "Fitur geomorfologi dan paleoklimat danau Arktik (pada contoh danau di sektor tengah Arktik Rusia)" Selesai oleh: mahasiswa jurusan malam Morozova Elena Aleksandrovna Pembimbing Ilmiah: d.g.s., prof. Bolshiyanov Dmitry Yurievich Dosen Savelyeva Larisa Anatolyevna Reviewer: Kandidat Ilmu Geologi, Kepala....»

“Mouse Apacer M811 – Laser mini-SUV Kit. http://news.kosht.com/computer/mouse/2009/11/26/mysh_apacer_m811. Plugin pencarian harga hari KOSHT.com untuk Peramban Firefox. Instal Satu klik. Satu kilobyte. Beranda Berita Harga Pengumuman Pekerjaan Forum Perusahaan Moby Temukan Temukan berita Anda Semua berita KOSHTA PC dan aksesori Mice PC dan aksesori Mice Semua berita KOSHTA Terbaik komputer game Perhitungan on-line di UltraPrice.by Apacer M811 mouse – laser mini SUV [...»

"BADAN FEDERAL UNTUK LEMBAGA PENDIDIKAN NEGARA PENDIDIKAN TINGGI UNIVERSITAS INDUSTRI NEGARA MOSKOW (GO MGIU)" SISTEM DAN TEKNOLOGI INFORMASI sistem Informasi» siswa Chumakova Tatyana Andrevna dengan topik "Perhitungan arus terpisah di belakang badan yang tidak ramping" Pengawas pekerjaan: prof., Ph.D. N. Aleksin Vladimir Adamovich ... "

“R WIPO A/45/3 ASLI: Bahasa Inggris TANGGAL: 15 Agustus 2008 ORGANISASI KEKAYAAN INTELEKTUAL DUNIA JENEWA MAJELIS NEGARA-NEGARA ANGGOTA WIPO Rangkaian Pertemuan Keempat Puluh Lima Jenewa, 22-30 September 2008 PENERIMAAN Memorandum PENGAWAS Direktur Jenderal I. PENERIMAAN ORGANISASI NON-PEMERINTAH INTERNASIONAL SEBAGAI PENGAWAS 1. Pada sesi-sesi sebelumnya, Majelis mengadopsi seperangkat prinsip untuk diterapkan saat mengirim ke organisasi non-pemerintah internasional...”

“1 Oleg Sanayev. DI SELURUH DUNIA DIPERPANJANG DALAM EMPAT TAHUN DAN BIAYA SERATUS DOLAR Dengan ketentuan perjalanan Evgeny Alexandrovich Gvozdev di kapal pesiar Lena, ditunjukkan dalam judul, semuanya beres - empat tahun ditambah dua minggu: pada 7 Juli 1992 dia pergi pelabuhan Makhachkala, pada 19 Juli 1996 dia kembali . Tetapi dengan uang - jelas berlebihan, atau lebih tepatnya meremehkan: Anda tentu saja tidak dapat hidup dengan seratus dolar selama empat tahun - Anda akan meregangkan kaki. Tapi, memulai pelayaran, Gvozdev memiliki jumlah yang persis sama. Dan setidaknya kakinya ... "

« Institute of Management, Research University Belgorod State National Research University TECHNOLOGIES OF SECURITY FORMATION MENGAMANKAN PEMBENTUKAN KANDIDAT POOL NEGARA UNTUK LAYANAN LAYANAN NEGARA DAN KOTA DAN KOTA Anotasi: Ringkasan: Artikel ini berkaitan dengan...»

“Lidiya YANOVSKAYA CATATAN TENTANG MIKHAIL BULGAKOV MOSCOW “TEXT” UDC 821.161.1 BBK 84 (2Ros-Rus)6-44 Y64 ISBN 978-5-7516-0660-2 ISBN 978-985-16-3297-4 (LLC Harvest ” ) “Teks”, 2007 “BRAVO, BIS, PEGAWAIAN!” "BRAVO, BIS, PEGAWAI!" Saya tidak tahu di mana kantor redaksi majalah Yunost berada di Moskow hari ini. Apakah majalah seperti itu masih ada? Pada pertengahan 70-an, kantor editorial termuda dan tercantik di Moskow ini terletak di Sadovaya-Triumfalnaya, di sebelah Lapangan Mayakovsky, menempati sebuah ruangan kecil tapi sangat nyaman ... "

“Lampiran 1 Formulir APLIKASI KOMPETISI 2013 Formulir “T”. Halaman judul aplikasi ke RHF Nama proyek Nomor proyek Jenis proyek (a, c, d, e, f) Bidang pengetahuan (kode) Kode pengklasifikasi RHF Kode GRNTI (http://www.grnti.ru/) Arah prioritas pengembangan ilmu pengetahuan dan teknologi dan teknisi di Federasi Rusia, teknologi kritis1 Nama belakang, nama, patronimik kepala Nomor telepon kontak manajer proyek proyek Nama lengkap dan pendek organisasi tempat…”

«Laporan FNI 8/2014 Menerapkan Kebijakan Iklim dan Energi UE di Polandia: Dari Europeanisasi ke Polonisasi? Jon Birger Skjrseth Menerapkan Kebijakan Iklim dan Energi UE di Polandia: Dari Europeanisasi ke Polonisasi? Jon Birger Skjrseth [email dilindungi] Desember 2014 Hak Cipta © Fridtjof Nansen Institute 2014 Judul Menerapkan Kebijakan Iklim dan Energi UE di Polandia: Dari Europeanisasi ke Polonisasi? Jenis dan Nomor Publikasi Halaman Laporan FNI 8/2014 57 Penulis ISBN 978-82-7613-683-8 Jon...”

“CATATAN ILMIAH TOGU” Volume 6, No.4, 2015 ISSN 2079-8490 Publikasi Ilmiah Elektronik “Catta Ilmiah TOGU” 2015, Volume 6, No.4, S.173 - 178 Sertifikat El No. FS 77-39676 tanggal 05.05 .2010 http://pnu.edu.ru/ru/ejournal/about/ [email dilindungi] UDC 316.33 © 2015 I. A. Gareeva, Doktor Sosiologi. Sci., A. G. Kiseleva (Universitas Negeri Pasifik, Khabarovsk) PEMBENTUKAN SISTEM ASURANSI SOSIAL Artikel ini menganalisis pembentukan sistem asuransi sosial dan keadaannya saat ini...»

Program Konferensi Chiang Mai, Thailand November, 2015 APCBSS Konferensi Asia-Pasifik tentang Bisnis & Ilmu Sosial Konferensi Internasional ICEI tentang Inovasi Pendidikan APCLSE Konferensi Asia-Pasifik tentang Ilmu Hayati dan Teknik APCBSS Konferensi Asia-Pasifik tentang Bisnis & Ilmu Sosial ISBN978-986- 90263 -0-7 ICEI International Conference on Education Innovation ISBN 978-986-5654-33-7 APCLSE Asia-Pacific Conference on Life Science and Engineering ISBN 978-986-90052-9-6 Content Content..."



Memuat...
Atas