NIM : 220605110107
Universitas : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
Dalam R, fungsi dapat dibuat dengan kata kunci function. Misalnya, untuk membuat fungsi yang menerjemahkan pendapatan tahunan menjadi pendapatan harian, kita dapat menulis:
as_daily_income <- function(yearly_income) {
yearly_income / 365
}
Nama yang diberikan untuk argumen tidak masalah sama sekali, asalkan digunakan secara konsisten di badan fungsi.
Semua versi as_daily_income() yang berbeda ini melakukan hal yang persis sama dan digunakan dengan cara yang persis sama, terlepas dari nama yang diberikan untuk argumen tersebut. 2 Seperti ini:
as_daily_income(61362)
## [1] 168.1151
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
}
Dalam kasus seperti itu, untuk menggunakan fungsi kita harus menyediakan semua argumen. Jadi, dengan definisi dua argumen terbaru dari as_daily_income(), menghasilkan pesan kesalahan.
Sebagai gantinya, tentukan kedua argumen:
as_daily_income(61362, 365)
## [1] 168.1151
Satu lagi aspek argumen fungsi di R … Argumen apa pun dapat diberi nilai default . Sangat mudah untuk melihat cara kerjanya dengan sebuah contoh:
as_daily_income <- function(yearly_income, duration = 365) {
yearly_income / duration
}
Dengan nilai default untuk durationfungsi dapat digunakan dengan satu atau dua argumen
as_daily_income(61362)
## [1] 168.1151
as_daily_income(61362, duration = 366)
## [1] 167.6557
Saat menggunakan fungsi, Anda dapat memilih sendiri ekspresi apa yang akan menjadi nilai argumen.
Misalnya, Anda ingin
menghitung 100 e^-2,5 Mudah:
100 * exp(-2.5)
## [1] 8.2085
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
Kita akan menggunakan 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))