2.1 Grafik Fungsi Matematika di Rstudio

A. Grafik fungsi matematika

Fungsi adalah transformasi dari input ke output. Fungsi digunakan untuk menyatakan hubungan antar besaran. Dalam mengevaluasi suatu fungsi , kita perlu menentukan apa inputnya dan nanti fungsi menerjemahkannya ke dalam output.

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.

contoh memplot fungsi garis lurus:

library(mosaicCalc)
## Loading required package: mosaicCore
## Loading required package: Deriv
## Loading required package: Ryacas
## 
## Attaching package: 'Ryacas'
## The following object is masked from 'package:stats':
## 
##     integrate
## The following objects are masked from 'package:base':
## 
##     %*%, diag, diag<-, lower.tri, upper.tri
## Registered S3 method overwritten by 'mosaic':
##   method                           from   
##   fortify.SpatialPolygonsDataFrame ggplot2
## 
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
## 
##     D
slice_plot(3 * x - 2 ~ x, domain(x = range(0, 10)))

m = -3
b = 4
slice_plot(m * x + b ~ x, domain(x = range(0, 10)))

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

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
slice_plot(sqrt(abs(g(x))) ~ x, domain(x = range(-5,5)))

Latihan 1

x <- 10
slice_plot(A * x ^  2 ~ A, domain(A = range(-2,  3)))

=> Grafik diatas tidak terlihat seperti parabola karena input ke fungsi adalah A, bukan x. nilai dari x telah disetel ke 10 — grafik dibuat pada rentang A dari −2 ke 3.

LATIHAN 2

Menerjemahkan setiap ekspresi ini dalam notasi matematika tradisional ke dalam plot. a. 4x − 7 di jendela x dari 0 sampai 10.

slice_plot( 4 * x - 7 ~ x, domain(x = range(0, 10) ))

b. karena 5x di jendela x dari -1 ke 1

slice_plot( cos(5 * x) ~ x, domain(x = range(-1, 1)))

C. 2t di jendela t dari 0 sampai 5

slice_plot( cos(2 * t) ~ t, domain(t = range(0,5) ))

d.√t karena 5t di jendela t dari 0 sampai 5. (Petunjuk: √(t) adalah sqrt(t).)

slice_plot( sqrt(t) * cos(5 * t) ~ t, domain(t = range(0, 5) ))

2.2 Membuat Scatterplot di Rstudio

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
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"
Housing$Income
## [1]  3914 10817 21097 34548 51941 72079
Housing$CrimeProblem
## [1] 39.6 32.4 26.7 23.9 21.4 19.9

scatterplot, 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.

gf_point(CrimeProblem ~ Income, data = Housing )

Pernyataan R secara dekat mengikuti padanan bahasa Inggris: “plot sebagai poin CrimeProblem versus (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")

Fungsi matematika yang digambar tidak cocok dengan data, tetapi bacaan ini adalah tentang cara menggambar grafik, bukan cara memilih keluarga fungsi atau menemukan parameter!

Jika, saat memplot data Anda, Anda lebih suka menetapkan batas sumbu ke sesuatu yang Anda pilih sendiri, Anda bisa melakukan ini. Contohnya:

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

Grafik ilmiah yang dibuat dengan benar harus memiliki nama sumbu yang 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 cara memplot grafik fungsi dari satu variabel, misalnya:

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

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

Kadang-kadang, orang ingin melihat fungsi sebagai permukaan , diplot dalam 3 dimensi. Anda bisa membuat komputer 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))

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

Pastikan untuk memberi nama argumen secara eksplisit saat memasukkan nilai. Dengan begitu Anda akan yakin bahwa Anda tidak membalikkannya secara tidak sengaja. Misalnya, perhatikan bahwa pernyataan ini memberikan nilai yang berbeda dari yang di atas:

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

Daftar Pustaka : https://dtkaplan.github.io/RforCalculus/graphing-functions.html#graphing-functions-of-two-variables