10 Fitur R Berguna yang Mungkin Belum Anda Ketahui

10 Fitur R Berguna yang Mungkin Belum Anda Ketahui

R penuh dengan berbagai fungsi. Di bawah ini saya akan memberikan sepuluh yang paling menarik, yang mungkin belum banyak diketahui orang. Artikel tersebut muncul setelah saya mengetahui bahwa cerita saya tentang beberapa fitur R yang saya gunakan dalam pekerjaan saya diterima dengan antusias oleh sesama programmer. Jika Anda sudah mengetahui segalanya tentang ini, saya minta maaf karena telah membuang-buang waktu Anda. Pada saat yang sama, jika Anda memiliki sesuatu untuk dibagikan, rekomendasikan sesuatu yang bermanfaat di komentar.

Skillbox merekomendasikan: Tentu saja praktis "Pengembang ular piton".

Kami mengingatkan: untuk semua pembaca "Habr" - diskon 10 rubel saat mendaftar di kursus Skillbox apa pun menggunakan kode promosi "Habr".

beralih fungsi

Saya sangat, sangat menyukai saklar(). Faktanya, ini adalah singkatan yang tepat untuk pernyataan if ketika memilih nilai berdasarkan nilai variabel lain. Saya menemukan ini sangat berguna ketika saya sedang menulis kode yang perlu memuat kumpulan data tertentu berdasarkan pilihan sebelumnya. Misalnya, jika Anda memiliki variabel bernama animal dan Anda ingin memilih kumpulan data tertentu bergantung pada apakah hewan tersebut anjing, kucing, atau kelinci, tuliskan ini:

data < — baca.csv(
beralih (hewan,
"anjing" = "dogdata.csv",
"kucing" = "catdata.csv",
"kelinci" = "kelincidata.csv")
)

Fitur ini akan berguna dalam aplikasi Shiny di mana Anda perlu memuat kumpulan data atau file lingkungan yang berbeda bergantung pada satu atau lebih item menu masukan.

Tombol pintas untuk RStudio

Peretasan ini bukan untuk R, tetapi untuk RStudio IDE. Namun, tombol pintas selalu sangat berguna karena memungkinkan Anda menghemat waktu saat memasukkan teks. Favorit saya adalah Ctrl+Shift+M untuk operator %>% dan Alt+- untuk operator <-.

Untuk melihat semua hotkey, cukup tekan Alt+Shift+K di RStudio.

paket dasbor fleksibel

Saat Anda perlu meluncurkan dasbor Shiny Anda dengan cepat, tidak ada yang lebih baik dari paket dasbor. Ini memberikan kemampuan untuk bekerja dengan pintasan HTML, yang pada gilirannya membuatnya mudah dan tidak merepotkan untuk membuat sidebar, baris, dan kolom. Ada juga kemampuan untuk menggunakan bilah judul, yang memungkinkan Anda menempatkannya di berbagai halaman aplikasi, meninggalkan ikon, pintasan di Github, alamat email, dan banyak lagi.

Paket ini memungkinkan Anda bekerja dalam kerangka Rmarkdown, sehingga Anda dapat menempatkan semua aplikasi dalam satu file Rmd, dan tidak mendistribusikannya ke server dan file UI yang berbeda, seperti yang dilakukan, misalnya, menggunakan glossydashboard. Saya menggunakan flexdashboard setiap kali saya perlu membuat prototipe dasbor sederhana sebelum mengerjakan sesuatu yang kompleks. Fitur ini memungkinkan Anda membuat prototipe dalam waktu satu jam.

req dan validasi fungsi di R Shiny

Mengembangkan di R Shiny bisa membingungkan, terutama ketika Anda terus-menerus mendapatkan pesan kesalahan aneh yang membuat sulit untuk memahami apa yang sedang terjadi. Namun seiring berjalannya waktu, Shiny berkembang dan meningkat, semakin banyak fungsi muncul di sini yang memungkinkan Anda memahami penyebab kesalahan tersebut. Jadi, req() memecahkan masalah dengan kesalahan "diam", ketika secara umum tidak jelas apa yang sedang terjadi. Ini memungkinkan Anda menampilkan elemen UI yang terkait dengan tindakan sebelumnya. Mari kita jelaskan dengan sebuah contoh:

keluaran$go_button < — mengkilap::renderUI({

# hanya menampilkan tombol jika input hewan telah dipilih

berkilau::req(masukan$hewan)

# tombol tampilan

berkilau::actionButton("pergi",
paste("Melakukan", input$hewan, "analisis!")
)
})

validasi() memeriksa semuanya sebelum merender dan memberi Anda opsi untuk mencetak pesan kesalahan - misalnya, pengguna mengunggah file yang salah:

# dapatkan file masukan csv

inFile < — masukan$file1
data < — inFile$jalur data

# render tabel hanya jika itu adalah anjing

berkilau::renderTable({
# periksa apakah itu file anjing, bukan kucing atau kelinci
mengkilap::validasi(
perlu("Nama Anjing" %dalam% kolom(data)),
“Kolom Nama Anjing tidak ditemukan — apakah Anda memuat file yang benar?”
)

data
})

Informasi lebih lanjut tentang semua fitur ini bisa ditemukan disini.

Menyimpan kredensial Anda untuk Anda sendiri di lingkungan sistem

Jika Anda berencana untuk membagikan kode yang mengharuskan Anda memasukkan kredensial, gunakan lingkungan sistem untuk menghindari hosting kredensial Anda sendiri di Github atau layanan lain. Contoh penempatan:

Sys.setenv(
DSN = "nama_database",
UID = "ID Pengguna",
LULUS = "Kata Sandi"
)

Sekarang Anda dapat masuk menggunakan variabel lingkungan:

db < — DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
pwd = Sys.getenv("LULUS")
)

Bahkan lebih mudah lagi (terutama jika Anda sering menggunakan data) untuk mengaturnya sebagai variabel lingkungan langsung di sistem operasi. Dalam hal ini, mereka akan selalu tersedia dan Anda tidak perlu menentukannya dalam kode.

Otomatiskan rapi dengan styler

Paket styler dapat membantu Anda membersihkan kode Anda; paket ini memiliki banyak opsi untuk secara otomatis membawa gaya kode ke dalam rapiverse. Yang perlu Anda lakukan hanyalah menjalankan styler::style_file() pada skrip Anda yang bermasalah. Paket ini akan melakukan banyak hal (tetapi tidak semuanya) untuk memulihkan ketertiban.

Parameterisasi Dokumen Penurunan Harga R

Jadi, Anda telah membuat dokumen R Markdown yang bagus di mana Anda menganalisis berbagai fakta tentang anjing. Dan kemudian terlintas di benak Anda bahwa akan lebih baik melakukan pekerjaan yang sama, tetapi hanya dengan kucing. Tidak masalah, Anda dapat mengotomatiskan pembuatan laporan kucing hanya dengan satu perintah. Untuk melakukan ini, Anda hanya perlu membuat parameter pada dokumen penurunan harga R Anda.

Anda dapat melakukan ini dengan mengatur parameter untuk header YAML di dokumen yang ditentukan, lalu mengatur parameter nilai.

— judul: “Analisis Hewan”
penulis: "Keith McNulty"
tanggal: "21 Maret 2019"
keluaran:
html_dokumen:
code_folding: "sembunyikan"
parameter:
nama_hewan:
nilai: Anjing
pilihan:
-Anjing
-Kucing
- Kelinci
tahun_studi_:
masukan: penggeser
menit: 2000
maks: 2019
Langkah 1
ronde 1
September: "
nilai: [2010, 2017] —

Sekarang Anda dapat mendaftarkan semua variabel dalam kode dokumen sebagai params$animal_name dan params$years_of_study. Kemudian kita akan menggunakan menu dropdown Knit (atau knit_with_parameters()) dan dapat memilih parameter.

10 Fitur R Berguna yang Mungkin Belum Anda Ketahui

mengungkapkanjs

mengungkapkanjs adalah paket yang memungkinkan Anda membuat presentasi HTML hebat dengan kode R bawaan, navigasi intuitif, dan menu slide. Pintasan HTML memungkinkan Anda dengan cepat membuat struktur slide bersarang dengan opsi gaya berbeda. Nah, HTML akan berjalan di perangkat apa pun, sehingga presentasi bisa dibuka di ponsel, tablet, atau laptop mana pun. Pengungkapan informasi dapat dikonfigurasi dengan menginstal paket dan memanggilnya di header YAML. Berikut ini contohnya:

— judul: “Menjelajahi Tepian Alam Semesta Analisis Manusia”
penulis: "Keith McNulty"
keluaran:
mengungkapkanjs::mengungkapkanjs_presentasi:
pusat: ya
templat:starwars.html
tema: hitam
tanggal: “Pertemuan HR Analytics London – 18 Maret 2019”
file_sumber daya:
— darth.png
- bintang kematian.png
- hanchewy.png
- milenium.png
- r2d2-threepio.png
-starwars.html
— perang bintang.png
—stormtrooper.png
-

Kode sumber presentasi diposting di sini, dan dirinya sendirirpubs.com/keithmcnulty/hr_meetup_london'>presentasi - di sini.

10 Fitur R Berguna yang Mungkin Belum Anda Ketahui

Tag HTML di R Shiny

Kebanyakan programmer tidak memanfaatkan sepenuhnya tag HTML yang dimiliki R Shiny. Tapi ini hanya 110 tag, yang memungkinkan untuk membuat panggilan singkat untuk fungsi HTML atau pemutaran media. Misalnya, saya baru-baru ini menggunakan tag$audio untuk memutar suara "kemenangan" yang mengingatkan pengguna ketika tugas telah selesai.

Paket pujian

Penggunaan paket ini sangat sederhana, namun diperlukan untuk menampilkan pujian kepada pengguna. Kelihatannya aneh, tapi sebenarnya mereka menyukainya.

10 Fitur R Berguna yang Mungkin Belum Anda Ketahui

Skillbox merekomendasikan:

Sumber: www.habr.com

Tambah komentar