Bab 19
Bab 19
Kabar baiknya adalah, Anda dapat menggunakan R untuk melakukan banyak hal yang sama seperti dulu
lakukan di spreadsheet. Di R, Anda menggunakan bingkai data untuk merepresentasikan data tabular. R
memiliki banyak fungsi, operator, dan metode yang memungkinkan Anda untuk memanipulasi
dan menghitung pada bingkai data. Ini berarti Anda dapat melakukan apa saja
(dan lebih banyak lagi) di R yang akan Anda lakukan di Microsoft Excel, LibreOffice Calc,
atau aplikasi spreadsheet favorit Anda.
Dalam bab ini, kami menawarkan beberapa petunjuk tentang fungsi yang dapat Anda jelajahi di R,
sebagian besar dibahas di awal buku ini. Dalam banyak kasus, kami menyediakan beberapa
kode contoh tetapi bukan hasilnya. Coba sendiri contoh-contoh ini, dan ingatlah
untuk menggunakan dokumentasi R Help untuk mengetahui lebih lanjut tentang fungsi-fungsi ini.
Untuk memformat beberapa angka sebagai mata uang - dalam hal ini, dolar AS - gunakan:
> set.seed (1)
> x <- 1000 * runif (5)
> sprintf ("$% 3.2f", x)
[1] "$ 265,51" "$ 372,12" "$ 572,85" "$ 908,21" "$ 201,68"
Seperti yang Anda lihat sebelumnya, % 3.2f literal berarti memformat nilai sebagai titik tetap
nilai dengan tiga digit sebelum desimal dan dua digit setelah desimal.
Fungsi sprintf () jauh lebih kuat dari itu: Ini memberi Anda file
cara alternatif untuk menempelkan nilai variabel apa pun ke dalam string:
> barang <- c ("roti", "cookie")
> harga <- c (2.1, 4)
> sprintf ("% s cost $% 3.2f", barang, harga)
[1] "harga roti $ 2,10" "harga kue kering $ 4,00"
Apa yang terjadi di sini adalah, karena Anda memberikan dua vektor (masing-masing dengan dua
elemen) ke sprintf () , hasilnya adalah vektor dengan dua elemen. Siklus R.
melalui elemen dan menempatkannya ke dalam sprintf () literal. Jadi, % s
(menunjukkan format nilai sebagai string) mendapatkan nilai "roti" untuk pertama kalinya
dan "cookie" untuk kedua kalinya.
Anda bisa melakukan semuanya dengan paste () dan format () yang bisa Anda lakukan dengan
sprintf () , jadi Anda tidak perlu menggunakannya. Tapi bila Anda melakukannya, itu bisa
sederhanakan kode Anda.
Anda dapat menggunakan fungsi curve () untuk memplot fungsi berkelanjutan. Ini membutuhkan
berfungsi sebagai input dan menghasilkan plot. Cobalah untuk merencanakan perilaku penjualan dan
pendapatan menggunakan fungsi curve () , harga bervariasi dari $ 50 hingga $ 150:
> oldpar <- par (mfrow = c (1, 2), bty = "l")
> kurva (penjualan, dari = 50, menjadi = 150, xname = "harga", main = "Penjualan")
> kurva (pendapatan, dari = 50, menjadi = 150, xname = "harga", utama = "Pendapatan")
> par (oldpar)
Hasil Anda akan terlihat seperti Gambar 19-1.
Anda memiliki model kerja penjualan dan pendapatan. Dari angka tersebut, Anda bisa
segera lihat bahwa ada titik pendapatan maksimum. Selanjutnya, gunakan
Fungsi R optimalkan () untuk mencari nilai maksimum tersebut. Untuk menggunakan optimalkan () ,
Anda perlu memberi tahu fungsi mana yang akan digunakan (dalam hal ini, revenue () ),
Gambar 19-1:
Model dari
diharapkan
penjualan dan
pendapatan
serta intervalnya (dalam hal ini, harga antara 50 dan 150). Secara default,
optimalkan () mencari nilai minimum, jadi dalam hal ini Anda harus memberitahu
itu untuk mencari nilai maksimum:
> optimalkan (pendapatan, interval = c (50, 150), maksimum = TRUE)
$ maksimum
[1] 100
$ objektif
[1] 5.000
Dan begitulah. Tetapkan harga $ 100, dan perkirakan untuk mendapatkan pendapatan $ 5.000.
Pemecah Excel menggunakan Algoritma Gradien Tergeneralisasi untuk
mengoptimalkan masalah nonlinier ( http://support.microsoft.com/
kb / 214115 ). Fungsi R optimalkan () menggunakan kombinasi emas
pencarian bagian dan interpolasi parabola berturut-turut, yang jelas tidak
hal yang sama seperti Pemecah Excel. Untungnya, sejumlah besar paket
menyediakan berbagai algoritme berbeda untuk memecahkan masalah pengoptimalan. Di
Faktanya, ada tampilan tugas khusus pada CRAN untuk optimasi dan matematis
pemrograman. Buka http: //cran.r - project.org/web/views/
Optimization.html untuk mengetahui lebih dari yang Anda inginkan
untuk mengetahui!