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

Dalam pelajaran ini, Anda akan belajar cara menggunakan R untuk membuat grafik fungsi matematika.

Ingatlah bahwa fungsi adalah transformasi dari input ke output. Fungsi digunakan untuk mewakili hubungan antara kuantitas. Dalam mengevaluasi suatu fungsi, Anda menentukan apa yang akan menjadi input dan fungsi menerjemahkannya ke dalam output.

Dalam banyak notasi matematika tradisional yang telah Anda gunakan, fungsi memiliki nama seperti
f atau g atau y, dan input dicatat sebagai x . Huruf lain digunakan untuk mewakili parameter. Misalnya, adalah umum untuk menulis persamaan garis dengan cara ini y= mx+ b

Untuk menerapkan konsep matematika ke pengaturan realistis di dunia, penting untuk mengenali tiga hal yang disukai notasi
y = mx + b tidak mendukung dengan baik: 1. Hubungan dunia nyata umumnya melibatkan lebih dari dua kuantitas. 2. Jumlah dunia nyata biasanya tidak disebutkan namanya x dan y, tetapi merupakan jumlah seperti “konsentrasi AMP siklik” atau “tegangan membran” atau “pengeluaran pemerintah”. 3. Situasi dunia nyata melibatkan banyak hubungan yang berbeda, dan model matematika dari mereka dapat melibatkan perkiraan dan representasi yang berbeda dari hubungan tersebut.

Ada tiga fungsi grafik yang memungkinkan Anda untuk membuat grafik fungsi, dan untuk melapisi plot tersebut dengan grafik fungsi atau data lain. Ini adalah:{mosaicCalc}

  1. slice_plot() untuk fungsi satu variabel.
  2. contour_plot() untuk fungsi dua variabel.
  3. interactive_plot() yang menghasilkan widget HTML untuk berinteraksi dengan fungsi dua variabel.

Ketiganya digunakan dengan cara yang sama. Berikut adalah contoh memplot fungsi garis lurus:

slice_plot( 5* x - 7 ~ x, domain(x = range(0, 12)))

Seringkali, wajar untuk menulis hubungan seperti itu dengan parameter yang diwakili oleh simbol. (Ini dapat membantu Anda mengingat parameter mana yang mana, misalnya, mana yang miring dan mana yang merupakan intersep. Saat Anda melakukan ini, ingatlah untuk memberikan nilai numerik tertentu untuk parameter, seperti ini:

m = -6
b = -8
slice_plot(m * x + b ~ x, domain(x = range(0, 14)))

2.2 Membuat scatterplot Seringkali, model matematika yang akan Anda buat akan dimotivasi oleh data. Untuk apresiasi mendalam tentang hubungan antara data dan model, Anda akan ingin mempelajari pemodelan statistik. Namun, di sini, kita akan mengambil potongan pertama pada subjek dalam bentuk pemasangan kurva, proses pengaturan parameter fungsi matematika untuk membuat fungsi tersebut menjadi representasi dekat dari beberapa data.

File data yang akan Anda gunakan disimpan sebagai spreadsheet di Internet. Biasanya, spreadsheet akan memiliki beberapa variabel; setiap variabel disimpan sebagai satu kolom. (Barisnya adalah “kasus,” kadang-kadang disebut “titik data.”) Untuk membaca data ke R, Anda perlu mengetahui nama file dan lokasinya. Seringkali, lokasi akan menjadi alamat di Internet.

Di sini, kami akan bekerja dengan , yang terletak di . File ini memberikan informasi dari survei tentang kondisi perumahan untuk orang-orang di berbagai kelompok pendapatan di AS. (Sumber: Susan E. Mayer (1997) Apa yang tidak bisa dibeli dengan uang: Pendapatan keluarga dan peluang hidup anak-anak Harvard Univ. Press hlm. 102.)“Income-Housing.csv”“http://www.mosaic-web.org/go/datasets/Income-Housing.csv

Berikut cara membacanya menjadi R:

Housing = read.csv("http://www.mosaic-web.org/go/datasets/Income-Housing.csv")
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
Housing[1:2,1]
## [1]  3914 10817
Housing$CrimeProblem
## [1] 39.6 32.4 26.7 23.9 21.4 19.9
gf_point(CrimeProblem ~ Income, data = Housing )

gf_point( 
  CrimeProblem ~ Income, data=Housing ) %>%
  slice_plot(
    20 - Income/3000 ~ Income, color = "green")

Fungsi matematika yang digambar bukanlah kecocokan yang sangat baik dengan data, tetapi bacaan ini adalah tentang cara menggambar grafik, bukan bagaimana memilih keluarga fungsi atau menemukan parameter!

Jika, saat merencanakan data Anda, Anda lebih suka mengatur batas sumbu ke sesuatu pilihan Anda sendiri, Anda dapat melakukan ini. Misalnya:

gf_point(
  CrimeProblem ~ Income, data = Housing) %>% 
  slice_plot(
    40 - Income / 2000 ~ Income, color = "yellow") %>%
  gf_lims(
    x = range(0,100000), 
    y=range(0,50))

Grafik ilmiah yang dibuat dengan benar harus memiliki nama sumbu informatif. 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))

2.3 Fungsi grafik dari dua variabel Anda telah melihat cara memplot grafik fungsi satu variabel, misalnya:

slice_plot(
  95 - 73*exp(-.2*t) ~ t, 
  domain(t = 0:20) )

Pelajaran ini adalah tentang memplot fungsi dari dua variabel. Sebagian besar, format yang digunakan akan menjadi plot kontur.

Anda gunakan 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. Misalnya:contour_plot()+

contour_plot(
  sqrt( (v-3)^2 + 2*(w-4)^2 ) ~ v & w, 
  domain(v=0:6, w=0:6))