Search This Blog

Monday, February 10, 2020

Regresi Linier Berganda dan Sederhana dengan Pemrograman R

Halo semua, tutorial kali ini adalah bagaimana melakukan regresi linier sederhana dan regresi linier berganda dengan pemrograman R kita sertai dengan contohnya. Kita akan menggunakan data yang berasal dari penelitian kami yang di terbitkan di Jurnal Manajemen dan Kewirausahaan, silahkan download data tabel12reg.xlsx. Seperti biasa kita akan melakukan import data ke dalam RStudio terlebih dahulu sebelum memulai pengaolahan data.

Model regresi kita adalah seperti pada gambar di bawah ini,

Model Regresi Linier KM, CI dan SMP

Langkah pertama adalah dapat kita lakukan perintah operasi regresi linier sederhana dan berganda dari data kita dan model gambar di atas sebagai berikut,

Menyusun model Regresi Linier Sederhana

Misal persamaan regresi linier sederhana kita adalah "SMP = a + b.KM + e", di mana a adalah konstanta dan b koefisien regresi, nama variabel yang akan kita gunakan dalam perintah R harus sesuai dengan nama kolom dalam tabel12reg kita, maka perintah nya seperti di bawah ini,

> regModelku <- lm(SMP~KM, data = table12reg)

Menyusun model Regresi Linier Berganda

Misal persamaan regresi linier berganda kita adalah "SMP = a +b1.KM + b2.CI + e", di mana a adalah konstanta, b1 dan b2 adalah koefisien regresinya, nama variabel yang akan kita gunakan dalam perintah R harus sesuai dengan nama kolom dalam tabel12reg kita, maka perintah nya seperti di bawah ini,

> regModelku <- lm(SMP~KM+CI, data = table12reg)

Uji Asumsi Regresi Linier

Sebelum membahas hasil uji regresi linier berganda kita perlu melakukan uji asumsi regresi linier untuk menguji nomalitas, multikolinieritas, heterokedastisitas, autokorelasi dan linieritas dari model regresi kita.

Uji asumsi Normalitas

Pengujian residual dari model regresi apakah berdistribusi normal maka dilakukan uji Normalitas, dengan perintah di bawah ini,

> par(mfrow=c(2,2))
> plot(regModelku)

maka di windows Plot akan muncul grafik seperti di bawah ini,

Graph for normality check

Kita lihat pada grafik Normal Q-Q (pojok kanan atas) menunjukkan point-point data berada disekitar garis lurus, maka dapat dikatakan terdistribusi normal, sehingga dapat dikatakan model regresi memenuhi asumsi Normalitas.

Uji asumsi Multikolinieritas

Pengujian korelasi antar variabel independent untuk melihat tidak adanya korelasi erat antar variabel independent dapat dilakukan melihat nilai VIF dengan perintah vif() dalam package car, seperti di bawah ini,

> library(car) #anda mungkin perlu menginstal terlebih dahulu package car
> vif(regModelku)
      KM       CI
1.529073 1.529073

kita lihat bahwa nilai VIF untuk KM dan CI berada di bawah 2, maka dapat dikatakan tidak terjadi Multikolinieritas dan model kita memenuhi asumsi Multikolinieritas.

Uji asumsi Heteroskedastisitas

Mengukur apakah terjadi ketidaksamaan varians residual (Heteroskedastisitas) dari data-data pengukuran dapat kita lakukan dengan melihat sebaran pada grafik Residuals vs Vitted dengan perintah yang sama pada uji Normalitas.

> par(mfrow=c(2,2))
> plot(regModelku)

maka di windows Plot akan muncul grafik seperti di bawah ini,

Uji Heteroskedastisitas

kita lihat pada grafik Residuals vs Fitted (pojok kiri atas) bahwa data-data tersebar dan tidak membentuk satu pola tertentu, sehingga dapat dikatakan tidak terjadi perbedaan varians residual dan model kita memenuhi uji asumsi Heteroskedastisitas.

Uji asumsi Autokorelasi 

Uji autokorelasi dilakukan untuk menguji apakah ada pengaruh dari data terdahulu kepada data yang baru, uji ini dilakukan untuk data time series, dengan menggunakan perintah dwtest() dalam package lmtest dengan perintah di bawah ini,

> library(lmtest) #anda mungkin perlu menginstal terlebih dahulu package lmtest
> dwtest(regModelku)

Durbin-Watson test

data:  regModelku
DW = 1.9522, p-value = 0.3891
alternative hypothesis: true autocorrelation is greater than 0

dari hasil uji di atas, dengan nilai Durbin-Watson test p-value lebih dari 0.05 maka dapat dikatakan bahwa tidak terjadi pengaruh antar data sebelum dan terbaru, dapat dikatakan asumsi tidak ada Autokorelasi antar data model regresi terpenuhi.

Uji asumsi Linieritas

Pengujian hubungan linier antara variabel dependent dan independent dilakukan untuk memenuhi asumsi adanya hubungan linier antar variabel tersebut, dengan perintah crPlots() dari package conf di bawah ini,

> library(conf) #anda mungkin perlu menginstal terlebih dahulu package conf
> crPlots(regModelku)

maka di windows Plot akan muncul grafik seperti di bawah ini,

Grafik uji Linieritas antar variabel

dari grafik di atas tampak bahwa posisi 2 (dua) garis warna berbeda (garis putus-putus dan garis sambung) berada pada posisi yang hampir berdempet, artinya variabel independent memiliki linieritas dengan variabel dependent, dapat dikatakan asumsi Lineritas model regresi terpenuhi.

Membaca hasil Regresi Linier Berganda

Tahap akhir dari proses regresi linier berganda adalah intepretasi hasil nya dapat dilakukan dengan perintah di bawah ini,

> summary(regModelku)

Call:
lm(formula = SMP ~ KM + CI, data = table12reg)

Residuals:
    Min      1Q  Median      3Q     Max
-6.8578 -0.9147  0.0728  1.0631  5.1673

Coefficients:
EstimateStd. Errort valuePr(>|t|)
(Intercept)1.352070.823061.6430.10265
KM0.104160.038652.6950.00789 **
CI0.744460.0700810.622< 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.005 on 142 degrees of freedom
Multiple R-squared:  0.6235, Adjusted R-squared:  0.6182
F-statistic: 117.6 on 2 and 142 DF,  p-value: < 2.2e-16

dari tabel hasil uji di atas didapat persamaan regresi linier berganda kita adalah

SMP = 1.35207 + 0.10416KM + 0.74446CI + e

Kita dapat menyatakan hasil pengujian model regresi linier berganda di atas bahwa pengaruh KM ke SMP adalah signifikan dengan nilai p-value pada kolom Pr(>|t|) lebih kecil dari 0.05, model kita memiliki nilai R2 0.6235 atau variabel KM dan CI mampu menjelaskan 62.35% faktor yang mempengaruhi SMP. Pada uji F-statistic didapat p-value: < 2.2e-16 jauh lebih kecil dari 0.05 menunjukkan model regresi sangat baik.

Sunday, February 9, 2020

Partial Least Squares (PLS) Path Modeling dengan R

Partial Least Squares Path Modeling (PLS-PM) merupakan salah satu metode analisis data statistik yang termasuk di dalamnya mengunakan pendekatan pengolahan data dengan PLS-SEM (Sanchez, 2013). Pengolahan data statistik PLS-PM dalam pemrograman R menggunakan package plspm yang dikembangkan oleh Sanchez beserta tim yang diluncurkan pada tahun 2009. Anda mungkin perlu menginstal terlebih dahulu package plspm jika belum terinstal di RStudio anda.

Artikel kali ini akan membahas proses PLS-PM disertai dengan contoh.

Tahapan proses PLS-PM ada 3 (tiga), sebagai berikut:

1. Measurement Model Assessment, akan menguji tiga aspek pada outer model yang meliputi uji:
  • Unidimensionality dari indikator tiap variabel, 
  • Pengujian keeratan hubungan dan reliability indikator dengan variabel nya melalui outer loading dan communality test, di mana communality = loading2,
  • Pengujian cross-loadings indikator dari tiap variabel dalam model.
2. Structural Model Assessment, akan menguji inner model untuk:
  • Persamaan regresi tiap variabel endogen
  • Koefisien determinasi R2
  • Redundancy, kemampuan variabel independent mengukur variasi variabel endogen nya
  • the Goodness-of-Fit (GoF) dari model.
3. Bootstrapping, untuk pengujian signifikansi pengaruh variabel independent ke variabel endogen.

Berikut ini contoh langkah pemrograman R untuk PLS-PM, kita memiliki model seperti pada gambar di bawah ini,


dengan outer model dan inner model seperti gambar di bawah ini



kita akan menggunakan data yang diakses dari website pengembang package plspm, silahkan klik file education.csv untuk mendownload data . Seperti biasa, terlebih dahulu kita import data ke dalam R, akan ada 26 kolom dan 181 data sample pada file education.csv.

Tahap Persiapan Model

Menggunakan baris perintah seperti di bawah ini,

#memanggil package plspm
> library(plspm)

#Menyusun matrik inner model, Advising pada baris pertama, dan seterusnya.
#angka 1 artinya ada pengaruh, contoh Satisfaction <- c(1, 1, 1, 0) artinya variabel satisfaction mendapat pengaruh dari 3 variabel
> Advising <- c(0, 0, 0, 0)
> Tutoring <- c(0, 0, 0, 0)
> Value <- c(1, 1, 0, 0)
> Satisfaction <- c(1, 1, 1, 0)

#Kita beri nama matrik "innerModelku", dan urutan dalam fungsi rbind() sesuai urutan baris matrik di atas
> innerModelku <- rbind(Advising, Tutoring, Value, Satisfaction)
> colnames(innerModelku) <- rownames(innerModelku)

#Jalankan perintah di bawah untuk melihat gambar model kita
> innerplot(innerModelku, box.size = 0.1)

maka di Windows Plots akan muncul tampilan seperti di bawah ini,

Gambar model

Lanjutkan pemrograman kita dengan perintah di bawah ini,

#Membangun outer model dengan nama "outerModelku"
#angka dalam list sesuai urutan kolom dari tabel education
#Variabel Advising dalam tabel education indikatornya berada pada kolom 5-8
> outerModelku <- list(5:8, 9:12, 13:16, 17:19)

#Mode "A" artinya model variabel kita adalah reflective dan kita beri nama "modenya"
> modenya <- rep("A", 4)

#Menjalankan fungsi plspm()
> plskita <- plspm(education, innerModelku, outerModelku, modes = modenya)

Measurement Model Assessment

*Unidimensionality, salah satunya dapat di lihat dari nilai Cronbach alpha, dengan perintah di bawah ini,

> plskita$unidim
ModeMVsC.alphaDG.rhoeig.1steig.2nd
AdvisingA40.92826650.94920693.295520.3429636
TutoringA40.85453820.90207582.7914390.5376909
ValueA40.91030540.93713173.15430.5090336
SatisfactionA30.90249560.93898072.5105830.2699962

dari tabel di atas tampak bahwa, nilai Cronbach alpha utk semua variabel berada di atas 0.7, hal ini menunjukkan bahwa indikator mewakili dengan baik variabel yang diukurnya.

*Pengujian keeratan hubungan dan reliability indikator dengan variabel nya melalui outer loading dan communality test, dengan perintah di bawah ini,

> plskita$outer_model
nameblockweightloadingcommunalityredundancy
1adv.compAdvising0.26515380.90605290.82093180
2adv.accesAdvising0.25756090.85662950.73381410
3adv.commAdvising0.2877750.91646940.83991620
4adv.qualAdvising0.29017050.9490470.90069010
5tut.profTutoring0.30210180.87713720.76936970
6tut.schedTutoring0.31533660.84659750.71672730
7tut.studTutoring0.29762270.77467070.60011470
8tut.qualTutoring0.28313930.83878330.70355730
9val.develValue0.25656490.89131840.79444840.2804875
10val.deciValue0.27085180.88570630.78447570.2769666
11val.meetValue0.27193590.90510280.81921110.2892302
12val.infoValue0.32931770.86631810.75050710.2649736
13sat.gladSatisfaction0.33431540.89899090.80818460.505913
14sat.expeSatisfaction0.3589320.91409940.83557770.5230607
15sat.overSatisfaction0.39907390.93053930.86590340.5420442

tabel hasil uji di atas menunjukkan nilai loading dari setiap indikator berada di atas 0.7 dan nilai communality di atas 0.5, mengartikan bahwa setiap indikator memiliki hubungan dan reliability yang bagus untuk mengukur variabelnya masing-masing.

*Pengujian cross-loadings, dengan perintah di bawah ini,

> plskita$crossloadings
nameblockAdvisingTutoringValueSatisfaction
1adv.compAdvising0.90605290.40279570.45636020.5938755
2adv.accesAdvising0.85662950.3848430.45180180.5683614
3adv.commAdvising0.91646940.44501730.51345310.6263815
4adv.qualAdvising0.9490470.47297550.49910960.6502128
5tut.profTutoring0.47932890.87713720.41147770.4404338
6tut.schedTutoring0.34528450.84659750.43886410.4503704
7tut.studTutoring0.34873870.77467070.40305770.4362253
8tut.qualTutoring0.40175340.83878330.36758910.4308519
9val.develValue0.44235940.36416670.89131840.5593182
10val.deciValue0.46484830.4302370.88570630.546817
11val.meetValue0.40271960.40855670.90510280.6363958
12val.infoValue0.54975830.50307640.86631810.700314
13sat.gladSatisfaction0.54931520.45731260.57772780.8989909
14sat.expeSatisfaction0.5808150.47509880.64510320.9140994
15sat.overSatisfaction0.70329790.50988290.67807230.9305393

tabel uji di atas menunjukkan indikator dari setiap variabel mengukur dengan baik variabelnya, terlihat dari tabel loading masing-masing variabel lebih tinggi dibanding di variabel lainnya, terlihat dari angka-angka yang dibold. Hasil pengolahan data dapat kita lihat dalam bagan model kita dengan perintah,

> plot(plskita)

dan akan ditampilkan gambar di bawah ini di windows Plot,



Structural Model Assessment

*Persamaan regresi tiap variabel endogen, dengan perintah di bawah ini,

> plskita$inner_model
$Value
EstimateStd. Errort valuePr(>|t|)
Intercept -1.127154e-170.06028679-1.869653e-16 1.000000e+00
Advising3.863951e-010.068351645.653048e+006.168069e-08
Tutoring3.046544e-010.068351644.457164e+001.465845e-05
$Satisfaction
EstimateStd. Errort valuePr(>|t|)
Intercept-7.479350e-180.04596812-1.627073e-161.000000e+00
Advising3.815310e-010.056602906.740485e+002.145682e-10
Tutoring1.403484e-010.054948962.554159e+001.148710e-02
Value4.247845e-010.057151107.432656e+004.377194e-12

*Koefisien determinasi R2, dengan perintah di bawah ini,

> plskita$inner_summary
TypeR2Block_
Communality
Mean_
Redundancy
AVE
AdvisingExogenous00.823838100.8238381
TutoringExogenous00.697442300.6974423
ValueEndogenous0.35305950.78716060.27791450.7871606
SatisfactionEndogenous0.62598690.83655530.52367260.8365553

Nilai  Rdi atas 0.6 menunjukkan bahwa 60% lebih dependent telah dapat dijelaskan oleh variabel independent-nya.

*Redundancy, dihitung dengan yang sama untuk  R2, nilai mean_redundancy yang semakin besar menunjukkan kemampuan variabel independent semakin mampu mengukur variasi variabel endogen nya.

*the Goodness-of-Fit (GoF) model, dihitung dengan perintah,

> plskita$gof
[1] 0.6190682

Semakin besar nilai GoF menunjukkan semakin bagusnya kinerja dan kualitas secara umum dari model pengukuran baik inner maupun outer model.

Bootstrapping

Langkah berikutnya PLS-PM adalah pengujian bootstraping, dilakukan untuk menguji signifikansi pengaruh dari satu variabel ke variabel lainnya, dengan perintah di bawah ini,

> bootstrapnya = plspm(education, innerModelku, outerModelku, modes = modenya, boot.val = TRUE, br = 200)
> bootstrapnya$boot$paths
OriginalMean.BootStd.Errorperc.025perc.975
Advising -> Value0.38640.38290.06690.25900.5148
Advising -> Satisfaction0.38150.36450.08680.20980.5135
Tutoring -> Value0.30470.30960.06660.18420.4291
Tutoring -> Satisfaction0.14030.13630.05750.01590.2543
Value -> Satisfaction0.42480.43390.07410.30070.5882

dari pengujian pada tabel di atas tampak bahwa tidak ada nilai 0 di antara lower percentile (perc.025) dan upper percentiles (perc.975) menurut Guderdan et al. (2008) dan Garson (2016) jika tidak ada nilai 0 di antara range ini maka dapat dikatakan signifikan, kita lihat salah satu pengaruh variabel Advising pada Value dengan nilai perc.025 dan perc.975 adalah antara 0.2590-0.5148, tidak ada nilai 0 di antara range ini, artinya Advising berpengaruh signifikan pada Value, dari tabel di atas dapat dikatakan bahwa 5 (lima) arah pengaruh dari variabel independent ke variabel dependent adalah signifikan.

References:

Garson, G. D. 2016. Partial Least Squares: Regression and Structural Equation Models. Asheboro, NC: Statistical Associates Publishers.

Gudergan, Siegfried P. & Ringle, Christian M. & Wende, Sven & Will, Alexander, 2008. "Confirmatory tetrad analysis in PLS path modeling," Journal of Business Research, Elsevier, vol. 61(12), pages 1238-1249, December.

Sanchez, G. 2013. PLS Path Modeling with R, Trowchez Editions. Berkeley, 2013. http://www.gastonsanchez.com/PLS Path Modeling with R.pdf

Data education.csv, http://www.gastonsanchez.com/education.csv

Tuesday, February 4, 2020

Uji Validitas dan Reliabilitas Instrumen dengan R

Artikel ini akan membahas contoh bagaimana melakukan pengujian validitas dan reliabilitas instrumen kuesionair sebelum digunakan untuk mengumpulkan data sample penelitian.

Misalkan kita akan menguji 2 variabel yang bernama KnowledgePreneur Leadership yang memiliki 7 indikator dan Technopreneur Harmony dengan 5 indikator, kita telah mengumpulkan beberapa data awal untuk pengujian, dengan data tabel9 di bawah ini ada 23 data pengujian yang dikumpulkan, langkah berikutnya adalah import data kita ke data frame di R, jika anda adalah pengguna awal R, silahkan dapat melihat artikel tutorial kami sebelumnya mengenai proses import data ke R,


respKPL1KPL2KPL3KPL4KPL5KPL6KPL7TPH1TPH2TPH3TPH4TPH5
1534553535234
2555555555554
3556565564554
4655564566666
5656666643644
6545243552554
7324343564342
8666666664456
9653363555566
10323533311233
11555555555555
12666666666544
13554645666656
14655665544444
15555535553335
16555555555555
17655635622666
18556656555546
19554655444454
20666656666665
21443634333333
22554654665655
23554654555544

Pengujian Validitas Instrumen variabel KPL

Pengujian validitas instrumen kita akan lakukan dengan pengukuran korelasi antar indikator dengan total untuk tiap variabelnya. Pengukuran korelasi akan menggunakan fungsi  cor() dan bantuan package dplyr untuk fungsi select() dengan perintah di bawah ini,

Pengujian validitas pada variabel KPL

> library(dplyr)
> cor(select(table9,KPL1,KPL2,KPL3,KPL4,KPL5,KPL6,KPL7,sumKPL))
            KPL1      KPL2      KPL3      KPL4      KPL5
KPL1   1.0000000 0.8321850 0.5585926 0.2948178 0.6108004
KPL2   0.8321850 1.0000000 0.6000601 0.4752553 0.5095512
KPL3   0.5585926 0.6000601 1.0000000 0.2519275 0.4598479
KPL4   0.2948178 0.4752553 0.2519275 1.0000000 0.1079729
KPL5   0.6108004 0.5095512 0.4598479 0.1079729 1.0000000
KPL6   0.5431911 0.7651682 0.7801599 0.6733389 0.3321937
KPL7   0.6623912 0.5851437 0.6114632 0.1696273 0.4171469
sumKPL 0.8299236 0.8937834 0.7958107 0.5829337 0.6417921
            KPL6      KPL7    sumKPL
KPL1   0.5431911 0.6623912 0.8299236
KPL2   0.7651682 0.5851437 0.8937834
KPL3   0.7801599 0.6114632 0.7958107
KPL4   0.6733389 0.1696273 0.5829337
KPL5   0.3321937 0.4171469 0.6417921
KPL6   1.0000000 0.4871728 0.8720856
KPL7   0.4871728 1.0000000 0.7133480
sumKPL 0.8720856 0.7133480 1.0000000

kita dapatkan bahwa korelasi setiap indikator untuk variabel KPL adalah di atas 0.5 (yang di bold), hal ini menunjukkan hubungan yang kuat antara indikator dengan variabel KPL atau dapat dikatakan setiap indikator yang kita gunakan untuk mengukur variabel KPL sudah valid.

Pengujian Reliabilitas Instrumen variabel KPL

Pengujian reliabilitas instrumen kita akan lakukan dengan pengukuran Cronbach’s α dari data, analisis Reliability akan memerlukan tambahan fungsi alpha() dari package psych (mungkin perlu diinstal terlebih dahulu), selanjutnya uji reliabilitas dilakukan dengan perintah di bawah ini,

> library(dplyr)
> library(psych)
> alpha(select(table9,KPL1,KPL2,KPL3,KPL4,KPL5,KPL6,KPL7))

Reliability analysis 
Call: alpha(x = select(table9, KPL1, KPL2, KPL3, KPL4, KPL5, KPL6,
    KPL7))

  raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd
      0.87      0.88    0.93      0.51 7.3 0.041  4.9 0.77
 median_r
     0.54

 lower alpha upper     95% confidence boundaries
0.8 0.87 0.95

 Reliability if an item is dropped:
     raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r
KPL1      0.84      0.85    0.90      0.48 5.6    0.050 0.040
KPL2      0.83      0.84    0.89      0.46 5.2    0.056 0.039
KPL3      0.85      0.86    0.89      0.50 5.9    0.050 0.043
KPL4      0.89      0.89    0.92      0.58 8.4    0.036 0.019
KPL5      0.88      0.88    0.94      0.55 7.4    0.040 0.037
KPL6      0.83      0.85    0.86      0.48 5.5    0.054 0.039
KPL7      0.86      0.87    0.93      0.52 6.5    0.046 0.043
     med.r
KPL1  0.49
KPL2  0.49
KPL3  0.51
KPL4  0.59
KPL5  0.59
KPL6  0.51
KPL7  0.54

 Item statistics
      n raw.r std.r r.cor r.drop mean   sd
KPL1 23  0.83  0.84  0.84   0.77  5.1 0.87
KPL2 23  0.89  0.89  0.90   0.84  4.7 1.06
KPL3 23  0.80  0.80  0.79   0.71  4.7 1.01
KPL4 23  0.58  0.56  0.51   0.42  5.2 1.13
KPL5 23  0.64  0.64  0.56   0.50  4.8 1.07
KPL6 23  0.87  0.86  0.87   0.81  4.6 1.08
KPL7 23  0.71  0.74  0.67   0.62  5.1 0.85

Non missing response frequency for each item
        2    3    4    5    6 miss
KPL1 0.00 0.09 0.04 0.52 0.35    0
KPL2 0.09 0.04 0.09 0.65 0.13    0
KPL3 0.00 0.13 0.26 0.35 0.26    0
KPL4 0.04 0.09 0.00 0.35 0.52    0
KPL5 0.00 0.17 0.13 0.39 0.30    0
KPL6 0.00 0.22 0.17 0.39 0.22    0
KPL7 0.00 0.09 0.04 0.57 0.30    0

dari hasil pengujian di atas kita lihat nilai raw_alpha sebesar 0.87 menunjukkan nilai reliabilitas yang sudah cukup bagus untuk indikator variabel KPL.

Pengujian di atas menunjukkan bahwa instrumen variabel KPL sudah layak digunakan untuk pengumpulan data sample penelitian. Bagaimana dengan variabel TPH, silahkan anda mencobanya, jika langkah anda tepat maka seharusnya akan didapat:

Korelasi TPH1 0.7746555, TPH2 0.7686643, TPH3 0.8262377, TPH4 0.7754025, TPH5 0.7032110, dan Cronbach’s α 0.82

Demikian tutorial untuk pengujian instrumen penelitian anda, selamat mencoba, sukses selalu.

Saturday, February 1, 2020

Proporsi Peluang Distribusi Normal dengan R

Artikel ini akan membahas bagaimana menghitung luas area proposi peluang pada kurva distribusi normal dengan pemrograman R.

Contoh

Kita memiliki data hasil test IQ mahasiswa dengan rata-rata  m=100 dan standard deviation s=15, maka kita dapat gunakan perintah pnorm(x,m,s) untuk mengetahui berapa peluang mahasiswa memiliki IQ di bawah nilai x seperti ditunjukkan pada gambar di bawah,


Misalnya kita ingin mengetahui peluang kelompok mahasiswa memiliki IQ dibawah 110, maka digunakan perintah di bawah ini,

> pnorm(110,100,15)
[1] 0.7475075

didapat peluang mahasiswa memiliki IQ dibawah 110 adalah 0.7475 atau 74.75%

Peluang mahasiwa yang memiliki IQ antara 90 dan 120 dapat dihitung dengan perintah

> pnorm(120,100,15)-pnorm(90,100,15)
[1] 0.6562962

atau dapat digunakan perintah yang ada dalam package R yang bernama tigerstats, sehingga dapat kita lakukan instalasi terlebih dahulu untuk package ini melalui menu Tools -> Install Packages dan memasukkan nama tigerstats, setelah terinstal maka peluang mahasiswa yang memiliki IQ antara 90 dan 120 dapat dihitung dengan perintah di bawah ini,

> library("tigerstats")
> pnormGC(c(90,120), region="between", m=100, s=15, graph=TRUE)
[1] 0.6562962

didapatkan hasil proporsi sebesar 0.6563 atau 65.63% dan akan menghasilkan graphic otomatis di bagian Plot windows seperti gambar di bawah ini