Ada tiga fungsi grafik{MosaicCalc}yang memungkinkan anda membuat grafik fungsi, dan melapisi plot tersebut dengan grafik, fungsi atau data lain ,ini adalah a.slice_plot()untuk fungsi satu variabel. b.contour_plot()untuk fungsi dua variabel. c.interactive_plot()yang menghasilkan widget HTML untuk berinteraksi dengan fungsi dua variabel.

contoh plot 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(5 * x - 3 ~ x, domain(x = range(0, 20)))

contoh lainnya:

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 juga bisa menggunakan makefun() untuk memberi nama pada fungsinya ,exemple:

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

contoh yang agak sulit:

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

LATIHAN: Latihan 1:

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

latihan 2: a. 8x-6 dijendela dari 0 hingga 10.x

slice_plot( 8 * x - 6 ~ x, domain(x = range(0, 10) ))

Latihan 2 a.karena 5x dijendela x dari -1kel.

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

1.√t karena 5 t 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) ))

Reproduksi masing-masing plot ini. Serahkan perintah yang Anda gunakan untuk membuat plot yang identik:

slice_plot(2*x - 3 ~ x, domain(x = range(0, 5)))

slice_plot(t^2 ~ t, domain(t = range(-2, 2)))

MEMBUAT SCATTERPLOT

berikut contohnya:

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

Anda dapat melihat nama semua variabel dalam bentuk variabel dengan format 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 di lokasi koordinat yang diberikan oleh dua variabel.

contoh;

gf_point(CrimeProblem ~ Income, data = Housing )

Pernyataan R secara dekat mengikuti padanan bahasa Inggris: “plot sebagai poin CrimeProblemversus (atau, sebagai fungsi dari) Income, menggunakan data dari housing objek.

Grafik dibangun berlapis lapis. jika anda ingin memplot data diatas gunakan fungsi plot untuk membuat layer, uhntuk menampilkan 2 lapisan yang sama gunakan 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")

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

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 harus memiliki nama sumbu yang informatif.Untuk 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))

Latihan 1

Buat masing-masing plot ini:

  1. Prof. Stan Wagon (lihat http://stanwagon.com ) menggambarkan 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)

b. 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

Buat perintah R untuk menduplikasi setiap plot ini. Serahkan perintah Anda (bukan plot):

  1. 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, buat plot tagihan bulanan rumah tangga untuk gas alam versus suhu rata-rata. Garis memiliki kemiringan −5 USD/derajat dan intersep 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")

Grafik fungsi dua variabel Pelajaran ini adalah tentang merencanakan fungsi dari dua variabel. Untuk sebagian besar, format yang digunakan adalah plot kontur

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

jika anda ingin menampilkan fungsi diplot 3 dimensi ,anda bisa membuat komputer menampilkan plot prospektif 3 dimensi menggunakan interactive_plot() fungsi. anda bisa melihat dengan mengarahkan kursor disekitar plot.

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

Latihan

Latihan 2 Jelaskan bentuk kontur yang dihasilkan oleh masing-masing fungsi tersebut. (Petunjuk: Buat plotnya! Perhatian: Gunakan mouse untuk membuat bingkai plot kurang lebih berbentuk persegi.)

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

memiliki kontur yaitu {Garis Paralel,Lingkaran Konsentris, Elips Konsentris , Berbentuk X}

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

memiliki kontur yaitu {Garis Paralel, Lingkaran Konsentris, Elips Konsentris, Berbentuk X}

1.Fungsinya

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

memiliki kontur yaitu:{ Garis Paralel , Lingkaran Konsentris, Elips Konsentris, Berbentuk X}}