Universitas : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Disini kita akan mempelajari tentang permodelan statistik. Namun, di sini kita akan mengambil potongan pertama pada subjek dalam bentuk penyesuaian kurva, proses pengaturan parameter fungsi matematika untuk membuat fungsi tersebut menjadi representasi dekat dari beberapa data.

Cara mengakses data dalam file komputer, bagaimana data disimpan, dan bagaimana memvisualisasikan data adalah apa yang akan kita lakukan dengan R dan mosaicpaket yang memudahkan hal tersebut.

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 untuk orang-orang dalam kelompok pendapatan yang berbeda di AS.

Berikut cara membacanya menjadi R:

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

read.csv()fungsi mengembalikan nilai yang disimpan dalam objek yang disebut housing, atau apapun nama yang kita mau. Setiap kali Anda membaca data dari file, nama file harus dalam tanda kutip ganda karakter tunggal tersebut. Dengan begitu, R tahu untuk memperlakukan karakter secara harfiah dan bukan sebagai nama objek seperti backquote

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

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"

Saat Anda ingin mengakses salah satu variabel, Anda memberi nama seluruh kumpulan data diikuti dengan nama variabel, dengan dua nama dipisahkan oleh $.

Housing$Income
## [1]  3914 10817 21097 34548 51941 72079

Nilai NULL akan muncul ketika anda melakukan keslahan pengetikan

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 :

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
gf_point(CrimeProblem ~ Income, data = Housing )

Untuk menampilkan dua lapisan dalam plot yang sama, hubungkan dengan %>%simbol (disebut “pipa”). Perhatikan bahwa tidak pernah%>% bisa pergi di awal baris baru. Contoh :

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

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(
    35 - Income / 2800 ~ Income, color = "green") %>%
  gf_lims(
    x = range(0,75000), 
    y=range(0,45))

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,75000), y = range(0,45))

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)

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)

File data “utilities.csv”memiliki catatan utilitas untuk sebuah rumah di St. Paul, Minnesota, AS. Buat plot ini, termasuk labelnya

library (mosaicCalc)
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.")

Dari “utilities.csv”file data, membuat 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="red")

Cara memplot grafik fungsi dari satu variabel, misalnya:

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

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

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