Fungsi adalah transformasi dari input ke output. Fungsi digunakan untuk menyatakan hubungan antar besaran. Saat mengevaluasi suatu fungsi, developer atau user menentukan apa inputnya dan fungsi menerjemahkannya ke dalam output.
Dalam konsep matematika, fungsi biasanya diberi nama f, g, atau y. Dan biasanya input diwakili dengan x. Untuk mengubahnya agar dapat diprogram, kita memerlukan notasi yang memungkinkan kita mendeskripsikan beberapa input ke suatu fungsi dan yang memungkinkan kita melacak mana yang berupa input.
Yang perlu ditentukan dalam merencanakan suatu fungsi :
Apa Fungsinya
Apa Inputnya
Berapa kisaran input untuk membuat plot berakhir.
Nilai parameter apa pun.
Ada tiga fungsi grafik {mosaicCalc} yang dapat digunakan untuk membuat grafik fungsi, dan melapisi plot tersebut dengan grafik fungsi :
Pertama : slice_plot()
Kedua : contour_plot()
Ketiga : interactive_plot()
Contoh program sederhana beserta parameter yang diwakili oleh simbol.
library(mosaicCalc)
## Loading required package: mosaicCore
## Loading required package: Deriv
## Loading required package: Ryacas
##
## Attaching package: 'Ryacas'
## The following object is masked from 'package:stats':
##
## integrate
## The following objects are masked from 'package:base':
##
## %*%, diag, diag<-, lower.tri, upper.tri
## Registered S3 method overwritten by 'mosaic':
## method from
## fortify.SpatialPolygonsDataFrame ggplot2
##
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
##
## D
A = 100
slice_plot( A* x ^ 2 ~ x, domain (x = range (-2, 3)))
B = 5
slice_plot( A * x ^ 2 ~ x, domain (x= range (0,3)), color = "blue" )
slice_plot( cos (t) ~ t, domain( t = range (0,4*pi)))
Dapat juga digunakan makeFun ( ) untuk memberi nama pada fungsi,
contoh
g <- makeFun(2*x^2 - 5*x + 2 ~ x)
slice_plot(g(x) ~ x, domain( x = range (-2, 2)))
g( x = 2)
## [1] 0
g (x = 5)
## [1] 27
Kita akan mencoba untuk membaca data yang berasal dari internet ke R.
Agar dapat terbaca, kita perlu mengetahui nama file dan lokasinya. Kali
ini kita akan mencoba mengambil data dari “http://www.mosaic-web.org/go/datasets/Income-Housing.csv”.
File ini berisikan informasi dari survei mengenai kondisi perumahan
untuk orang-orang dalam kelompok pendapatan yang berbeda di AS. Berikut
adalah cara membacanya menjadi R :
Housing = read.csv("http://www.mosaic-web.org/go/datasets/Income-Housing.csv")
Housing tidak memerlukan library manapun. Ada dua hal yang perlu diperhatikan dari pernyataan diatas. Pertama, read.csv( ) berfungsi untuk mengembalikan nilai yang disimpan dalam objek yang bernama housing. Pilihan Housing bersifat variatif, dapat diubah-ubah.
Kita dapat melihat data hanya dengan mengetikkan nama objek (tanpa tanda kutip) yang menyimpan data. Contoh :
Housing
## Income IncomePercentile CrimeProblem AbandonedBuildings IncompleteBathroom
## 1 3914 5 39.6 12.6 2.6
## 2 10817 15 32.4 10.0 3.3
## 3 21097 30 26.7 7.1 2.3
## 4 34548 50 23.9 4.1 2.1
## 5 51941 70 21.4 2.3 2.4
## 6 72079 90 19.9 1.2 2.0
## NoCentralHeat ExposedWires AirConditioning TwoBathrooms MotorVehicle
## 1 32.3 5.5 52.3 13.9 57.3
## 2 34.7 5.0 55.4 16.9 82.1
## 3 28.1 2.4 61.7 24.8 91.7
## 4 21.4 2.1 69.8 39.6 97.0
## 5 14.9 1.4 73.9 51.2 98.0
## 6 9.6 1.0 76.7 73.2 99.0
## TwoVehicles ClothesWasher ClothesDryer Dishwasher Telephone
## 1 17.3 57.8 37.5 16.5 68.7
## 2 34.3 61.4 38.0 16.0 79.7
## 3 56.4 78.6 62.0 25.8 90.8
## 4 75.3 84.4 75.2 41.6 96.5
## 5 86.6 92.8 88.9 58.2 98.3
## 6 92.9 97.1 95.6 79.7 99.5
## DoctorVisitsUnder7 DoctorVisits7To18 NoDoctorVisitUnder7 NoDoctorVisit7To18
## 1 3.6 2.6 13.7 31.2
## 2 3.7 2.6 14.9 32.0
## 3 3.6 2.1 13.8 31.4
## 4 4.0 2.3 10.4 27.3
## 5 4.0 2.5 7.7 23.9
## 6 4.7 3.1 5.3 17.5
Semua variabel dalam kumpulan data akan ditampilkan. Dapat juga melihat nama semua variabel dalam format yang ringkas dengan names ( ). Contoh :
names(Housing)
## [1] "Income" "IncomePercentile" "CrimeProblem"
## [4] "AbandonedBuildings" "IncompleteBathroom" "NoCentralHeat"
## [7] "ExposedWires" "AirConditioning" "TwoBathrooms"
## [10] "MotorVehicle" "TwoVehicles" "ClothesWasher"
## [13] "ClothesDryer" "Dishwasher" "Telephone"
## [16] "DoctorVisitsUnder7" "DoctorVisits7To18" "NoDoctorVisitUnder7"
## [19] "NoDoctorVisit7To18"
Kita dapat mengakses satu variabel dengan cara ketikkan nama seluruh variabel kemudian diikuti dengan data variabel dan dipisahkan oleh tanda $. Contoh :
Housing$Telephone
## [1] 68.7 79.7 90.8 96.5 98.3 99.5
Ejaan dan penggunaan huruf kapital juga penting dalam R. Biasanya penyajian data yang paling informatif adalah grafis. Salah satu bentuk grafik yang paling dikenal adalah scatter-plot. Setiap titik di lokasi koordinat berisi dua variabel. Berikut adalah contoh grafik sederhana.
library(readxl)
data_dapat = read_excel('Data_pemgeluaran.xlsx')
data_dapat
## # A tibble: 6 × 3
## Nomor Pemasukan Pengeluaran
## <dbl> <dbl> <dbl>
## 1 NA NA NA
## 2 1 30000000 15000000
## 3 2 45000000 NA
## 4 3 20000000 NA
## 5 4 65000000 NA
## 6 5 75000000 NA
library(mosaicCalc)
gf_point(CrimeProblem ~ Income, data = Housing)
Plot sebagai poin CrimeProblem versus atau sebagai fungsi dari Income. Data dari housing digunakan sebagai objek.
Kita harus menggunakan fungsi plot untuk membuat layar lain jika ingin memplot fungsi matematika diatas. Untuk menampilkan dua lapisan dalam plot yang sama, hubungkan dengan % > %. simbol ini biasa disebut pipa.
library(mosaicCalc)
gf_point(
CrimeProblem ~ Income, data=Housing ) %>%
slice_plot(
40 - Income/2000 ~ Income, color = "green")
Contoh grafik yang ditetapkan sendiri batas sumbunya :
gf_point(
CrimeProblem ~ Income, data = Housing) %>%
slice_plot(
40 - Income / 2000 ~ Income, color = "blue") %>%
gf_lims(
x = range(0,100000),
y = range(0,50))
Sebagai catatan, untuk menjalankan fungsi gf_point, kita memerlukan library(mosaicCalc).
gf_labs dapat digunakan untuk mengatur nama sumbu secara langsung. Contoh :
gf_point(
CrimeProblem ~ Income, data=Housing) %>%
gf_labs(x= "Income Bracket ($US per household)/year",
y = "Fraction of Households",
main = "Crime Problem") %>%
gf_lims(x = range(0,100000), y = range(0,50))
Untuk memplot dengan dua variabel, kita dapat menggunakan contour_plot( ). Kita perlu membuat daftar dua variabel disebelah kanan + tanda, dan perlu memberikan rentang untuk masing-masing variabel. Contoh :
library(mosaicCalc)
contour_plot(
sin(3*pi*t/5)*exp(-.2*x) ~ t & x,
domain(t = range(0,15), x = range(0,9)))
Catatan : Kita memperlukan library mosaicCalc untuk memanggil contour_plot.
Jika kita ingin melihat fungsi sebagai permukaan, diplot dalam 3 dimensi. Kita dapat menampilkan plot perspektif 3 dimensi dengan menggunakan fungsi interactive_plot( ) . Contoh
interactive_plot(
sin(6*pi*t/15)*exp(-.5*x) ~ t & x,
domain(t = 0:15, x = 0:20))
Kita dapat menggunakan fungsi makeFun( ) untuk membuat fungsi yang dapat dievaluasi secara numerik. Contoh :
g <- makeFun(
sin(2*pi*t/10)*exp(-.2*x) ~ t & x)
contour_plot(
g(t, x) ~ t + x,
domain(t=0:20, x=0:10))
Kita harus memastikan bahwasannya kita memberi nama argumen secara eksplisit saat memasukkan nilai. Karena, ketika argumen diketikkan tanpa nama, posisi dalam urutan argumen yang penting.