=====================================================
Nama Mahasiswa : Yoza Setya Febriyanti
NIM : 220605110062
Kelas : C
Mata Kuliah : Kalkulus
Dosen Pengampuh : Prof.Dr.Suhartono,M.Kom
Jurusan : Teknik Informatika
Universitas : UIN Maulana Malik Ibrahim Malang
=====================================================
Dalam merencanakan suatu fungsi, perlu menentukan beberapa hal:
Ini biasanya diberikan oleh ekspresi, misalnya m * x + batau A * x ^ 2atau sin(2 * t)Nanti, Anda juga akan memberi nama pada fungsi dan menggunakan nama-nama itu dalam ekspresi, seperti sinhalnya nama fungsi trigonometri.
Ingat, tidak ada alasan untuk berasumsi bahwa x selalu menjadi input, dan Anda akan menggunakan variabel dengan nama seperti Gdan cAMP. Jadi, Anda harus eksplisit dalam mengatakan apa yang masuk dan apa yang tidak. Notasi R untuk ini melibatkan ~ simbol (“tilde”). Misalnya, untuk menentukan fungsi linier dengan x sebagai input, Anda dapat menulis m * x + b ~ x
untuk membuat plot berakhir . Anggap ini sebagai batas sumbu horizontal di mana Anda ingin membuat plot.
Ingat, notasi m * x + b ~ xtidak hanya melibatkan input variabel xtetapi juga dua kuantitas lainnya, mdan b. Untuk membuat plot fungsi, Anda perlu memilih nilai spesifik untuk mdan bdan memberi tahu komputer apa itu.
Ada tiga fungsi grafik {mosaicCalc}yang memungkinkan Anda membuat grafik fungsi, dan melapisi plot tersebut dengan grafik fungsi atau data lain. Ini adalah:
slice_plot()untuk fungsi satu variabel.
contour_plot()untuk fungsi dua variabel.
interactive_plot()yang menghasilkan widget HTML untuk berinteraksi dengan fungsi dua variabel.
Ketiganya digunakan dengan cara yang hampir sama. Berikut adalah contoh memplot fungsi garis lurus:
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(3 * x - 2 ~ x, domain(x = range(0, 10)))
ingatlah untuk memberikan nilai numerik tertentu untuk parameter, seperti ini :
m = -3
b = -2
slice_plot(m * x + b ~ x, domain(x = range(0, 10)))
contoh lain
A = 100
slice_plot( A * x ^ 2 ~ x, domain(x = range(-2, 3)))
A = 5
slice_plot( A * x ^ 2 ~ x, domain(x = range(0, 3)), color="red" )
slice_plot( cos(t) ~ t, domain(t = range(0,4*pi) ))
kita dapat menggunakan makeFun( )untuk memberi nama pada fungsi. Contohnya:
g <- makeFun(2*x^2 - 5*x + 2 ~ x)
slice_plot(g(x) ~ x , domain(x = range(-2, 2)))
Setelah fungsi diberi nama, kita dapat mengevaluasinya dengan memberikan input. Contohnya:
g(x = 2)
## [1] 0
g(x = 5)
## [1] 27
kita juga dapat membuat ekspresi baru dari fungsi yang telah kita buat, contoh :
slice_plot(sqrt(abs(g(x))) ~ x, domain(x = range(-5,5)))
Di sini, kita akan bekerja dengan “Income-Housing.csv”, yang terletak di “http://www.mosaic-web.org/go/datasets/Income-Housing.csv”. File ini memberikan informasi dari survei tentang kondisi perumahan untuk orang-orang dalam kelompok pendapatan yang berbeda di AS. (Sumber: Susan E. Mayer (1997)
Berikut cara membacanya menjadi R:
Housing = read.csv("http://www.mosaic-web.org/go/datasets/Income-Housing.csv")
Ada dua hal penting yang perlu diperhatikan dari pernyataan di atas.
Pertama, read.csv()fungsi mengembalikan nilai yang disimpan dalam objek yang disebut housing. Pilihan Housingsebagai nama adalah sewenang-wenang; Anda bisa menyimpannya sebagai xatau Equadoratau apa pun. Lebih mudah untuk memilih nama yang membantu Anda mengingat apa yang disimpan di mana.
Kedua, nama “http://www.mosaic-web.org/go/datasets/Income-Housing.csv”diapit
oleh tanda kutip. Ini adalah tanda kutip ganda satu karakter, yaitu,”dan
bukan tanda kutip tunggal berulang ’ ’atau perumahan
. Whenever you are reading data from a file, the name of the file should be in such single-character double quotes. That way, R knows to treat the characters literally and not as the name of an object such asbackquote.
Setelah data dibaca, Anda dapat melihat data hanya dengan mengetikkan nama objek (tanpa tanda kutip!) yang menyimpan data. Contohnya,
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
Anda dapat melihat nama semua variabel dalam format yang ringkas dengan names( )perintah:
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"
Saat Anda ingin mengakses salah satu variabel, Anda memberi nama seluruh kumpulan data diikuti dengan nama variabel, dengan dua nama dipisahkan oleh $tanda, seperti ini:
Housing$Income
## [1] 3914 10817 21097 34548 51941 72079
Housing$CrimeProblem
## [1] 39.6 32.4 26.7 23.9 21.4 19.9
Ejaan dan kapitalisasi itu penting. Jika Anda membuat kesalahan, tidak peduli seberapa sepele bagi pembaca manusia, R tidak akan mengetahui apa yang Anda inginkan. Misalnya, berikut ini adalah kesalahan ejaan nama variabel, yang mengakibatkan tidak ada ( NULL) yang dikembalikan.
Housing$crim
## NULL
Salah satu bentuk grafik yang paling dikenal adalah scatter-plot , format di mana setiap “kasus” atau “titik data” diplot sebagai titik di lokasi koordinat yang diberikan oleh dua variabel. Sebagai contoh, berikut adalah plot pencar dari fraksi rumah tangga yang menganggap lingkungan mereka memiliki masalah kejahatan, versus pendapatan rata-rata di braket mereka.
library("mosaicCalc")
gf_point(CrimeProblem ~ Income, data = Housing )
Pernyataan R secara dekat mengikuti padanan bahasa Inggris: “plot sebagai poin CrimeProblemversus (atau, sebagai fungsi dari) Income, menggunakan data dari housingobjek.
Grafik dibangun berlapis-lapis. Jika Anda ingin memplot fungsi matematika di atas data, Anda harus menggunakan fungsi plot untuk membuat layer lain. Kemudian, untuk menampilkan dua lapisan dalam plot yang sama, hubungkan dengan %>%simbol (disebut “pipa”). Perhatikan bahwa tidak pernah%>% bisa pergi di awal baris baru.
gf_point(
CrimeProblem ~ Income, data=Housing ) %>%
slice_plot(
40 - Income/2000 ~ Income, color = "red")
gf_point(
CrimeProblem ~ Income, data = Housing) %>%
slice_plot(
40 - Income / 2000 ~ Income, color = "blue") %>%
gf_lims(
x = range(0,100000),
y=range(0,50))
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))
cara memplot grafik fungsi dari satu variabel, misalnya:
slice_plot(
95 - 73*exp(-.2*t) ~ t,
domain(t = 0:20) )
Anda gunakan contour_plot()untuk memplot dengan dua variabel input. Anda perlu membuat daftar dua variabel di sebelah kanan +tanda, dan Anda perlu memberikan rentang untuk masing-masing variabel. Sebagai contoh:
contour_plot(
sin(2*pi*t/10)*exp(-.2*x) ~ t & x,
domain(t = range(0,20), x = range(0,10)))
Setiap kontur diberi label, dan secara default plot diisi dengan warna untuk membantu memandu mata. Jika Anda lebih suka hanya melihat kontur, tanpa isian warna, gunakan tile=FALSE argumen.
contour_plot(
sin(2*pi*t/10)*exp(-.2*x) ~ t & x,
domain(t=0:20, x=0:10))
anda bisa membuat komputer menampilkan plot perspektif 3 dimensi dengan menggunakan interactive_plot()fungsi.
interactive_plot(
sin(2*pi*t/10)*exp(-.5*x) ~ t & x,
domain(t = 0:20, x = 0:10))
Untuk membuat fungsi yang dapat Anda evaluasi secara numerik, buat fungsi tersebut dengan makeFun(). Sebagai 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))
g(x = 4, t = 7)
## [1] -0.4273372
g(4, 7)
## [1] 0.1449461
Alasan perbedaannya adalah ketika argumen diberikan tanpa nama, posisi dalam urutan argumenlah yang penting. Jadi, di atas, 4 digunakan untuk nilai tdan 7 untuk nilai x. Sangat mudah untuk dibingungkan oleh situasi ini, jadi praktik yang baik adalah mengidentifikasi argumen secara eksplisit dengan nama:
g(t = 7, x = 4)
## [1] -0.4273372