Bab 2 Fungsi grafik 2.1 Membuat grafik fungsi matematika Untuk menerapkan konsep matematika ke pengaturan realistis di dunia, penting untuk mengenali tiga hal yang disukai notasi y=mx+b tidak mendukung dengan baik:
Dalam memplot suatu fungsi, Anda perlu menentukan beberapa hal:
Apa fungsinya, apa inputnya, Berapa kisaran input untuk membuat plot berakhir, Nilai parameter apa pun
Ada tiga fungsi grafik {mosaicCalc}yang memungkinkan Anda membuat grafik fungsi, dan melapisi plot tersebut dengan grafik fungsi atau data lain. Ini adalah:
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)))
Ketika Anda melakukan ini, ingatlah untuk memberikan nilai numerik
khusus untuk parameter, seperti ini:
library(mosaicCalc)
m = -3
b = -2
slice_plot(m * x + b ~ x, domain(x = range(0, 10)))
contoh lain:
library(mosaicCalc)
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. Contohnya:
library(mosaicCalc)
g <- makeFun(2*x^2 - 5*x + 2 ~ x)
slice_plot(g(x) ~ x , domain(x = range(-2, 2)))
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”. File ini memberikan informasi dari survei tentang kondisi perumahan bagi orang-orang dengan pendapatan berbeda di AS. (Sumber: Susan E. Mayer (1997) Apa yang tidak dapat dibeli dengan uang: Penghasilan keluarga dan peluang hidup anak-anak Harvard Univ. Press hal. 102.)
Berikut cara membacanya menjadi R:
library(mosaicCalc)
Housing = read.csv("http://www.mosaic-web.org/go/datasets/Income-Housing.csv")
1.read.csv()fungsi mengembalikan nilai yang disimpan dalam objek bernama housing 2. 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
Setelah data dibaca, Anda dapat melihat data hanya dengan mengetikkan nama objek (tanpa tanda kutip!) yang menyimpan data tersebut. 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
Anda dapat melihat nama semua variabel dalam format yang ringkas dengan
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
Ejaan dan kapitalisasi itu penting. Jika Anda membuat kesalahan, betapapun remehnya bagi pembaca manusia, R tidak akan mengerti apa yang Anda inginkan.
ika 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.
library(mosaicCalc)
gf_point(
CrimeProblem ~ Income, data=Housing ) %>%
slice_plot(
40 - Income/2000 ~ Income, color = "red")
Jika, saat memplot data Anda, Anda lebih suka menyetel batas sumbu ke
sesuatu pilihan Anda sendiri, Anda bisa melakukannya. Contohnya:
library(mosaicCalc)
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
library(mosaicCalc)
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 Membuat grafik fungsi dua variabel 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
library(mosaicCalc)
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=FALSEargumen.
library(mosaicCalc)
contour_plot(
sin(2*pi*t/10)*exp(-.2*x) ~ t & x,
domain(t=0:20, x=0:10))
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.
library(mosaicCalc)
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:
library(mosaicCalc)
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
jika
g(4, 7)
## [1] 0.1449461