Topik kalkulus pada dasarnya adalah tentang fungsi matematika dan operasi yang dilakukan pada mereka. Konsep “fungsi matematika” adalah sebuah ide. Jika kita akan menggunakan bahasa komputer untuk bekerja dengan fungsi matematika. kita memerlukan konstruksi bahasa untuk merepresentasikan fungsi dan kuantitas yang diambil fungsi sebagai input dan dihasilkan sebagai output. menggunakan bahasa komputer R untuk mengimplementasikan operasi kalkulus bersama dengan operasi terkait seperti grafik dan penyelesaian.
Input yang diambil oleh fungsi dan output yang dihasilkannya belum tentu berupa angka. Seringkali, mereka adalah kuantitas .
Kita dapat menghitung, menambah, dan mengurangi uang – sama seperti kita menghitung, menambah, dan mengurangi dengan angka. Tetapi uang memiliki properti tambahan: jenis mata uang. Ada Dolar 1 , Renminbi, Euro, Rand, Krona dan sebagainya. Uang sebagai ide adalah abstraksi dari jenis yang kadang-kadang disebut dimensi . Dimensi lainnya adalah panjang, waktu, volume, suhu, luas, sudut, luminositas, suku bunga bank, dan sebagainya. Ketika kita berhadapan dengan suatu besaran yang memiliki dimensi, tidak cukup memberikan angka untuk mengatakan “berapa” dari dimensi yang kita miliki. Kita juga perlu memberikan unit. Banyak dari ini akrab dalam kehidupan sehari-hari. Misalnya, dimensi panjang diukur dengan satuan meter, atau inci, atau mil, atau parsec, dan seterusnya. Dimensi uang diukur dengan euro, dolar, renminbi, dan sebagainya. Area sebagai dimensi diukur dengan meter persegi, atau kaki persegi, atau hektar, atau ekar, dll.
contoh :
x <- 7
yang menyimpan kuantitas dengan nama x. Tapi bahasanya mengacungkan sesuatu seperti
y <- 12 meters
## Error: <text>:1:9: unexpected symbol
## 1: y <- 12 meters
## ^
Kurangnya notasi komputer yang tepat untuk mewakili kuantitas berdimensi dengan satuannya, kita memerlukan beberapa cara lain untuk melacak berbagai hal.
Saat kita merepresentasikan besaran di komputer, kita akan
menggunakan nama besaran untuk mengingatkan kita apa dimensi dan
satuannya. Misalkan kita ingin, misalnya, untuk mewakili pendapatan
tahunan keluarga. Pilihan yang masuk akal adalah menggunakan nama
seperti income atau income_per_year atau
family_income. Kami bahkan mungkin memberikan unit dalam
nama, misalnya
family_income_euros_per_year.
R, seperti kebanyakan bahasa komputer, memiliki konstruksi pemrograman untuk mewakili operasi yang mengambil satu atau lebih input dan menghasilkan output. Di R, ini disebut “fungsi.” Di R, semua yang Anda lakukan melibatkan fungsi, baik secara eksplisit maupun implisit.
Dalam R, fungsi dapat dibuat dengan kata kunci function.
Misalnya kita buat pendapatan harian, dapat kita tulis :
as_daily_income <- function(yearly_income) {
yearly_income / 365
}
Nama yang dipilih untuk fungsi, as_daily_income, adalah
arbitrer. Kita bisa saja menamai fungsi itu apa saja.
Setelah kata kunci function, ada sepasang tanda kurung.
Di dalam tanda kurung adalah nama yang diberikan ke input ke fungsi.
Sangat membantu untuk membedakan antara nilai input dan
peran yang akan dimainkan input dalam fungsi. Nilai pendapatan
tahunan mungkin 61362(dalam, katakanlah, dolar). Untuk
berbicara tentang peran yang dimainkan input, kami menggunakan kata
argument .
Ada fitur mengejutkan dari Bahasa Komputer seperti R, yakni nama yang diberikan untuk argumen tidak masalah sama sekali, asalkan digunakan secara konsisten di badan fungsi. Contoh pertama :
as_daily_income <- function(x) {
x / 365
}
atau juga bisa
as_daily_income <- function(ghskelw) {
ghskelw / 365
}
Seringkali, fungsi memiliki lebih dari satu argumen. Nama-nama
argumen dicantumkan di antara tanda kurung setelah kata kunci
function, seperti ini:
as_daily_income <- function(yearly_income, duration) {
yearly_income / duration
}
Ingatlah bahwa nama-nama yang dipilih oleh pemrogram suatu fungsi bersifat arbitrer. Anda akan menggunakan fungsi dengan cara yang persis sama meskipun namanya berbeda.
Dalam menulis perhitungan, ada baiknya untuk memperjelas dan
menjelaskan arti dari setiap besaran yang digunakan dalam perhitungan.
Jadi, alih-alih 100 * exp(-2.5), Anda mungkin ingin
menulis:
dose <- 100 # mg
duration <- 10 # days
time_constant <- 4 # days
dose * exp(- duration / time_constant)
## [1] 8.2085
Lebih baik lagi, Anda bisa mendefinisikan fungsi yang melakukan perhitungan untuk Anda:
drug_remaining <- function(dose, duration, time_constant) {
dose * exp(- duration / time_constant)
}
Kemudian, melakukan perhitungan untuk situasi tertentu yang dijelaskan di atas adalah masalah penggunaan fungsi:
drug_remaining(dose = 100, duration = 10, time_constant = 4)
## [1] 8.2085
Kami telah menggunakan fungsi R untuk mewakili perhitungan jumlah dari input seperti dosis dan konstanta waktu obat.
Tetapi fungsi R memainkan peran yang jauh lebih besar dari itu. Fungsi digunakan untuk hampir semua hal, mulai dari membaca file data hingga menggambar grafik hingga mengetahui jenis komputer apa yang digunakan.
Dalam buku ini digunakan operasi yang disediakan oleh paket
mosaicand mosaicCalcuntuk R. Operasi dari
paket ini memiliki notasi yang sangat spesifik untuk diekspresikan
sehubungan dengan . Notasi tersebut menggunakan karakter tilde,
~. Berikut cara menggambar grafik yang kita inginkan,
menggunakan slice_plot()operasi paket:
library(mosaicCalc)
## Loading required package: mosaic
## Registered S3 method overwritten by 'mosaic':
## method from
## fortify.SpatialPolygonsDataFrame ggplot2
##
## The 'mosaic' package masks several functions from core packages in order to add
## additional features. The original behavior of these functions should not be affected by this.
##
## Attaching package: 'mosaic'
## The following objects are masked from 'package:dplyr':
##
## count, do, tally
## The following object is masked from 'package:Matrix':
##
## mean
## The following object is masked from 'package:ggplot2':
##
## stat
## The following objects are masked from 'package:stats':
##
## binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
## quantile, sd, t.test, var
## The following objects are masked from 'package:base':
##
## max, mean, min, prod, range, sample, sum
## Loading required package: mosaicCore
##
## Attaching package: 'mosaicCore'
## The following objects are masked from 'package:dplyr':
##
## count, tally
##
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
##
## D
slice_plot(
drug_remaining(dose = 100, time_constant = 4, duration = t) ~ t,
domain(t = 0:20))
Grafik yang tepat akan diberi label dengan benar, misalnya sumbu horizontal dengan “Waktu (hari)” dan sumbu vertikal dengan “Sisa obat (mg)”. Anda akan melihat bagaimana melakukannya di bab berikutnya, yang mengeksplorasi operasi grafik fungsi secara lebih rinci.