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

  1. 32.721, 34.721, 35.172 , 37.421, 37.721
  2. -0.83, -0.77 , -0.72, -0.68, 0.32, 0.42, 0.62
  3. -0.83, -0.77, -0.72, -0.68, -0.62 , 0.42, 0.62
  4. -2.5 , -1.5, -0.5, 0.5, 1.5, 2.5

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)

  1. Berikut catatan tingkat pasang surut di Hawaii selama sekitar 100 jam:
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.")

  1. Dari “utilities.csv”file data, buatlah plot tagihan bulanan rumah tangga untuk gas alam versus suhu rata-rata. Garis tersebut memiliki kemiringan −5 USD/gelar dan mencegat 300 USD.
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))