library(mosaicCalc)
## Loading required package: mosaic
## Warning: package 'mosaic' was built under R version 4.2.2
## 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
Ingatlah bahwa nama yang dipilih oleh pemrogram suatu fungsi bersifat arbitrer. Anda akan menggunakan fungsi dengan cara yang persis sama meskipun namanya berbeda. Demikian pula, saat menggunakan fungsi, Anda dapat memilih sendiri ekspresi apa yang akan menjadi nilai argumen. misal:
100 * exp(-2.5)
## [1] 8.2085
Tapi kemungkinan bahwa −2.5 dimaksudkan untuk berdiri untuk sesuatu yang lebih umum. Misalnya, mungkin Anda menghitung berapa banyak obat yang masih ada dalam tubuh sepuluh hari setelah dosis 100 mg diberikan. Akan ada tiga jumlah yang terlibat bahkan dalam perhitungan sederhana ini: dosis, jumlah waktu sejak dosis diambil, dan apa yang disebut “konstanta waktu” untuk eliminasi obat melalui hati atau mekanisme lainnya. (Untuk mengikuti contoh ini, Anda tidak perlu tahu apa itu konstanta waktu. Tetapi jika Anda tertarik, inilah contohnya. Misalkan sebuah obat memiliki konstanta waktu 4 hari. Ini berarti 63% dari obat tersebut akan dihilangkan selama periode 4 hari.)
Dalam menulis perhitungan, sebaiknya jelas dan eksplisit tentang arti 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 menentukan 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 dengan menggunakan fungsi:
drug_remaining(dose = 100, duration = 10, time_constant = 4)
## [1] 8.2085
Dengan menggunakan nama deskriptif yang baik dan secara eksplisit memberi label argumen mana, Anda menghasilkan dokumentasi yang jelas dan terpelajar tentang apa yang ingin Anda lakukan dan bagaimana orang lain, termasuk “Anda di masa depan,” harus mengubah sesuatu untuk mewakili situasi baru.
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 cara melakukannya di bab berikutnya, yang mengeksplorasi operasi pembuatan grafik fungsi secara lebih mendetail.
Daftar Pustaka: Kaplan, Daniel. 2020. Computer-age Calculus with R.
https://dtkaplan.github.io/RforCalculus/representing-mathematical-functions.html