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
Disini saya akan merangkum mengenai beberapa hal yang ada di BAB 2 Grafik Fungsi Dalam matematika, grafik dari sebuah fungsi digunakan untuk mewakili hubungan antara kuantitas.
Di sebagian besar notasi matematika tradisional yang Anda gunakan, fungsi memiliki nama seperti f atau g atau y , dan input dinotasikan sebagai x. Huruf lain digunakan untuk mewakili parameter . Misalnya, menulis persamaan garis dengan cara ini adalah hal yang umum.
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 dari satu variabel. contour_plot()untuk fungsi dua variabel. interactive_plot()yang menghasilkan widget HTML untuk berinteraksi dengan fungsi dua variabel.
Berikut adalah contoh merencanakan fungsi garis lurus:
slice_plot(3 * x - 2 ~ x, domain(x = range(0, 10)))
misalnya, mana kemiringan dan mana intersep. Ketika Anda melakukan ini, ingatlah untuk memberikan nilai numerik khusus untuk parameter, seperti ini:
m = -3
b = -2
slice_plot(m * x + b ~ x, domain(x = range(0, 10)))
contoh yang ada di github
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) ))
Penggunaan make fun
g <- makeFun(2*x^2 - 5*x + 2 ~ x)
slice_plot(g(x) ~ x , domain(x = range(-2, 2)))
setelah itu diberikan masukannya
g(x = 2)
## [1] 0
g(x = 5)
## [1] 27
Kemudian ada fungsi yang agak rumit
slice_plot(sqrt(abs(g(x))) ~ x, domain(x = range(-5,5)))
Percobaan Latihan Yang Dilakukan Dalam RforCalculus
LATIHAN 1
x <- 10
slice_plot(A * x ^ 2 ~ A, domain(A = range(-2, 3)))
LATIHAN 2
slice_plot( 4 * x - 7 ~ x, domain(x = range(0, 10) ))
slice_plot( cos(5 * x) ~ x, domain(x = range(-1, 1)))
slice_plot( cos(2 * t) ~ t, domain(t = range(0,5) ))
slice_plot( sqrt(t) * cos(5 * t) ~ t, domain(t = range(0, 5) ))
LATIHAN 3 Carilah nilai dari setiap fungsi di atas pada x = 10.543 atau di t= 10.543 .(Petunjuk: Beri nama fungsi dan hitung nilainya menggunakan ekspresi seperti g(x = 10.543)atau f(t = 10.543).)
Pilih nilai numerik terdekat
LATIHAN 4
slice_plot(2*x - 3 ~ x, domain(x = range(0, 5)))
slice_plot(t^2 ~ t, domain(t = range(-2, 2)))
Latihan 5 Apa yang terjadi ketika Anda menggunakan parameter simbolik (misalnya, mdi m*x + b ~ x, tetapi mencoba membuat plot tanpa memilih nilai numerik tertentu untuk parameter tersebut?
JAWABAN: Anda mendapatkan pesan kesalahan yang mengatakan bahwa “objek tidak ditemukan”.
Latihan 6 Apa yang terjadi jika Anda tidak menentukan rentang untuk input, tetapi hanya satu angka, seperti pada perintah kedua dari dua perintah berikut:
slice_plot(3 * x ~ x, domain(x= range(1,4)) slice_plot(3 * x ~ x, domain(x = 14)) slice_plot(3 * x ~ x)
JAWABAN: Jika tidak ada domain yang ditentukan atau jika domain hanya memiliki satu nomor dan bukan rentang, slice_plot()pesan kesalahan dihasilkan.
BAB 2.2
MEMBUAT SCATTERPLOT
Di sini, kita akan bekerja dengan "Income-Housing.csv", yang terletak di "http://www.mosaic-web.org/go/datasets/Income-Housing.csv".
```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 bernama 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 petik. Ini adalah tanda kutip ganda satu karakter, yaitu,”dan
bukan tanda kutip tunggal berulang ’ ’atau backquote
. 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 ashousing.
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
Semua variabel dalam kumpulan data akan ditampilkan (walaupun hanya empat yang dicetak di sini).
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"
Ketika Anda ingin mengakses salah satu variabel, Anda memberi nama seluruh kumpulan data diikuti dengan nama variabel, dengan dua nama dipisahkan dengan $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
Misalnya, berikut ini adalah salah mengeja nama variabel, yang mengakibatkan tidak ada ( NULL) yang dikembalikan.
Housing$crim
## NULL
berikut adalah sebaran fraksi rumah tangga yang menganggap lingkungan mereka memiliki masalah kejahatan, versus pendapatan rata-rata kelompok mereka.
gf_point(CrimeProblem ~ Income, data = Housing )
Kemudian, untuk menampilkan dua lapisan dalam plot yang sama, hubungkan dengan %>%simbol (disebut “pipa”). Perhatikan bahwa tidak pernah%>% bisa di awal baris baru.
gf_point(
CrimeProblem ~ Income, data=Housing ) %>%
slice_plot(
40 - Income/2000 ~ Income, color = "red")
PEMBUATAN PLOT SESUAI DIRI SENDIRI
gf_point(
CrimeProblem ~ Income, data = Housing) %>%
slice_plot(
40 - Income / 2000 ~ Income, color = "blue") %>%
gf_lims(
x = range(0,100000),
y=range(0,50))
Anda dapat mengatur nama sumbu secara langsung menggunakan gf_labs:
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))
BAB 2.2.1 LATIHAN 1 a. Prof. Stan Wagon (lihat http://stanwagon.com ) mengilustrasikan pemasangan kurva menggunakan pengukuran suhu (dalam derajat C) secangkir kopi versus waktu (dalam menit):
s = read.csv(
"http://www.mosaic-web.org/go/datasets/stan-data.csv")
gf_point(temp ~ time, data=s)
h = read.csv(
"http://www.mosaic-web.org/go/datasets/hawaii.csv")
gf_point(water ~ time, data=h)
LATIHAN 2 a. File data “utilities.csv”memiliki catatan utilitas untuk
sebuah rumah di St. Paul, Minnesota, AS. Buat plot ini, termasuk
labelnya:
Utilities <- read.csv(
"http://www.mosaic-web.org/go/datasets/utilities.csv")
gf_point(
temp ~ month, data=Utilities) %>%
gf_labs(x = "Month (Jan=1, Dec=12)",
y = "Temperature (F)",
main = "Ave. Monthly Temp.")
gf_point(
gasbill ~ temp, data=Utilities) %>%
gf_labs(xlab = "Temperature (F)",
ylab = "Expenditures ($US)",
main = "Natural Gas Use") %>%
slice_plot( 300 - 5*temp ~ temp, color="blue")
BAB 2.3 MEMBUAT GRAFIK FUNGSI DUA VARIABEL
slice_plot(
95 - 73*exp(-.2*t) ~ t,
domain(t = 0:20) )
contour_plot()untuk memplot dengan dua variabel input. perlu
mencantumkan dua variabel di sebelah kanan +tanda, dan 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 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))
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, buatlah 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
perhatikan bahwa pernyataan ini memberikan nilai yang berbeda dari yang di atas:
g(4, 7)
## [1] 0.1449461
g(t = 7, x = 4)
## [1] -0.4273372
LATIHAN 2.3.1 Kira-kira berapakah nilai fungsi pada masing-masing
tersebut
(x,t)berpasangan? Pilih nilai terdekat a. x=4,t=10: {-6,-5,-4, -2
,0,2,4,5,6} b. x=8,t=10: {-6, -5 ,-4,-2,0,2,4,5,6} c. x=7,t=0: {-6,-5,
-4 ,-2,0,2,4,5,6} d. x=9,t=0: {-6,-5,-4,-2,0,2,4,5, 6 }
contour_plot(
sqrt( (v-3)^2 + 2*(w-4)^2 ) ~ v & w,
domain(v=0:6, w=0:6))
contour_plot(
sqrt( (v-3)^2 + (w-4)^2 ) ~ v & w,
domain(v=0:6, w=0:6))
contour_plot(
6*v - 3*w + 4 ~ v & w,
domain(v=0:6, w=0:6))