2.1 Membuat grafik fungsi matematika

Ingatlah bahwa fungsi adalah transformasi dari masukan menjadi keluaran. Fungsi digunakan untuk mewakili hubungan antara kuantitas. Dalam mengevaluasi suatu fungsi, Anda menentukan apa inputnya dan fungsi menerjemahkannya menjadi output.

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 \[ y = m x + 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. (Misalnya, Hukum Gas Ideal dalam kimia, \(PV = n R T\) melibatkan tiga variabel: tekanan, volume, dan suhu.) Untuk alasan ini, Anda memerlukan notasi yang memungkinkan Anda mendeskripsikan beberapa input ke suatu fungsi dan yang memungkinkan Anda melacak input yang mana.

  2. Kuantitas dunia nyata biasanya tidak disebutkan namanya \(x\) dan \(y\), tetapi jumlahnya seperti “konsentrasi AMP siklik” atau “tegangan membran” atau “pengeluaran pemerintah”. Tentu saja, Anda dapat memanggil semua hal seperti itu \(x\) or \(y\), tetapi jauh lebih mudah untuk memahami hal-hal ketika nama mengingatkan Anda tentang kuantitas yang diwakili.

  3. Situasi dunia nyata melibatkan banyak hubungan yang berbeda, dan model matematisnya dapat melibatkan perkiraan dan representasi yang berbeda dari hubungan tersebut. Oleh karena itu, penting untuk dapat memberi nama pada hubungan, sehingga Anda dapat melacak berbagai hal yang sedang Anda kerjakan.

Untuk alasan ini, notasi yang akan Anda gunakan harus lebih umum daripada notasi yang biasa digunakan dalam aljabar sekolah menengah. Pada awalnya, ini akan tampak aneh, tetapi keanehan tersebut tidak terlalu berkaitan dengan fakta bahwa notasi digunakan oleh komputer sebanyak alasan matematis yang diberikan di atas.

Namun ada satu aspek notasi yang langsung bermula dari penggunaan keyboard untuk berkomunikasi dengan komputer. Dalam menulis operasi matematika, Anda akan menggunakan ekspresi seperti a * bdan 2 ^ ndan a / b daripada yang tradisional \(a b\) atau \(2^n\) atai \(\frac{a}{b}\), dan Anda akan menggunakan tanda kurung untuk mengelompokkan ekspresi dan menerapkan fungsi ke inputnya.

Dalam memplot suatu fungsi, Anda perlu menentukan beberapa hal:

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

Ketiganya digunakan dengan cara yang hampir sama. Berikut adalah contoh merencanakan 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)))

Seringkali, wajar untuk menulis hubungan seperti itu dengan parameter yang diwakili oleh simbol. (Ini dapat membantu Anda mengingat parameter mana yang mana, 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)))

Coba contoh berikut:

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) ))

Anda dapat menggunakan makeFun( )untuk memberi nama pada fungsi tersebut. Misalnya:

g  <- makeFun(2*x^2 - 5*x + 2 ~ x)
slice_plot(g(x) ~ x , domain(x = range(-2, 2)))

Setelah fungsi diberi nama, Anda dapat mengevaluasinya dengan memberikan masukan. Contohnya:

g(x = 2)
## [1] 0
g(x = 5)
## [1] 27

Tentu saja, Anda juga dapat membuat ekspresi baru dari fungsi yang telah Anda buat. Coba ungkapan yang agak rumit ini:

slice_plot(sqrt(abs(g(x))) ~ x, domain(x = range(-5,5)))

2.2 Membuat scatterplot

File data yang akan Anda gunakan disimpan sebagai spreadsheet di Internet. Biasanya, spreadsheet akan memiliki beberapa variabel; setiap variabel disimpan sebagai satu kolom. (Baris-barisnya adalah “cases,” terkadang disebut “data points.”) Untuk membaca data ke dalam R, Anda perlu mengetahui nama file dan lokasinya. Seringkali, lokasi akan berupa alamat di Internet.

Berikut cara membacanya menjadi R:

Housing = read.csv("http://www.mosaic-web.org/go/datasets/Income-Housing.csv")

Setelah data dibaca, Anda dapat melihat data hanya dengan mengetikkan nama objek (tanpa tanda kutip!) yang menyimpan data tersebut. Misalnya,

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"

Biasanya penyajian data yang paling informatif adalah grafis. Salah satu bentuk grafik yang paling dikenal adalah scatter-plot , format di mana setiap “kasus” atau “titik data” diplot sebagai titik pada lokasi koordinat yang diberikan oleh dua variabel. Misalnya, 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 )

Grafik dibangun berlapis-lapis. Jika Anda ingin memplot fungsi matematika pada data, Anda harus menggunakan fungsi plot untuk membuat lapisan lain. 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")

2.3 Membuat grafik fungsi dua variabel

Anda gunakan contour_plot()untuk memplot dengan dua variabel input. Anda perlu mencantumkan 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)))

Kadang-kadang, orang ingin melihat fungsi sebagai permukaan , diplot dalam 3 dimensi. Anda bisa mendapatkan komputer untuk menampilkan plot perspektif 3 dimensi dengan menggunakan interactive_plot()fungsi. Seperti yang akan Anda lihat dengan mengarahkan mouse di sekitar plot, ini interaktif.

interactive_plot(
   sin(2*pi*t/10)*exp(-.5*x) ~ t & x, 
   domain(t = 0:20, x = 0:10))

Mungkin itu saja sekian terima kasih