Kode R berikut ini digunakan dalam Blog Statistik untuk Psikologi dalam artikel berjudul Fun Facts Koefisien Regresi (Terstandardisasi), Korelasi Parsial dan Semi-Parsial

  1. Bagian pertama berupa baris-baris perintah untuk membuat (generate</>) data simulasi.
library(ppcor) #me-load paket R bernama ppcor untuk melakukan analisis korelasi parsial dan korelasi
               # semi-parsial
set.seed(8888)
x1=rnorm(100)
x2=0.4*x1+sqrt(1-0.4^2)*rnorm(100)
y=0.1*x1+0.15*x2+sqrt(1-0.02)*rnorm(100)
  1. Bagian kedua ini berupa baris-baris perintah untuk menghitung standard deviasi (sd) dan korelasi (cor).
s1=sd(x1)
s2=sd(x2)
sy=sd(y)
ry1=cor(x1,y)
ry2=cor(x2,y)
r12=cor(x1,x2)

Sementara perintah-perintah ini saya membuat variabel baru yang merupakan variabel x1,x2, dan y dalam skor standar (z1,z2 dan zy).

z1=(x1-mean(x1))/sd(x1)
z2=(x2-mean(x2))/sd(x2)
zy=(y-mean(y))/sd(y)
  1. Bagian ketiga ini berupa aplikasi rumus-rumus yang ada dalam artikel tersebut.
b=(ry1-ry2*r12)/(1-r12^2)*(sy/s1)
beta=(ry1-ry2*r12)/(1-r12^2)
par.r=(ry1-ry2*r12)/sqrt((1-r12^2)*(1-ry2^2))
semi.par.r=(ry1-ry2*r12)/sqrt((1-r12^2))
  1. Bagian ketiga ini berisi perbandingan antara rumus-rumus yang saya gunakan dengan perintah dalam program R untuk menghitung koefisien yang sama. Nomor d. merupakan perbandingan keempat koefisien dan signifikansinya menggunakan perintah dalam program R.
  1. Untuk koefisien regresi yang tidak terstandardisasi
b
## [1] 0.1868164
summary(lm(y~x1+x2))$coeff[2,1:4]
##   Estimate Std. Error    t value   Pr(>|t|) 
## 0.18681637 0.10718053 1.74300648 0.08450135
  1. Untuk koefisien regresi yang terstandardisasi
beta
## [1] 0.1740606
summary(lm(zy~z1+z2))$coeff[2,1:4]
##   Estimate Std. Error    t value   Pr(>|t|) 
## 0.17406065 0.09986231 1.74300648 0.08450135
  1. Untuk nilai korelasi parsial dan semi parsial
# korelasi parsial
par.r 
## [1] 0.1742675
pcor(cbind(x1,x2,y))$estimate[3,1]
## [1] 0.1742675
#korelasi semi parsial
semi.par.r
## [1] 0.1678641
spcor(cbind(x1,x2,y))$estimate[3,1]
## [1] 0.1678641

d Untuk uji signifikansi keempat koefisien

summary(lm(y~x1+x2))$coeff[2,1:4]
##   Estimate Std. Error    t value   Pr(>|t|) 
## 0.18681637 0.10718053 1.74300648 0.08450135
summary(lm(zy~z1+z2))$coeff[2,1:4]
##   Estimate Std. Error    t value   Pr(>|t|) 
## 0.17406065 0.09986231 1.74300648 0.08450135
c(pcor(cbind(x1,x2,y))$statistic[3,1],pcor(cbind(x1,x2,y))$p.value[3,1])
## [1] 1.74300648 0.08133248
c(spcor(cbind(x1,x2,y))$statistic[3,1],spcor(cbind(x1,x2,y))$p.value[3,1])
## [1] 1.67706738 0.09352931
  1. Bagian ini berisi perintah-perintah untuk menampilkan R kuadrat untuk menunjukkan kaitan antara kuadrat korelasi semi parsial dan perubahan R kuadrat (R squared change)
#R kuadrat dari regresi dengan melibatkan semua variabel prediktor
summary(lm(y~x1+x2))$r.squared
## [1] 0.1003169
#R kuadrat dari regresi dengan hanya melibatkan x1
summary(lm(y~x2))$r.squared
## [1] 0.07213849
#Perhitungan Perubahan R Kuadrat
summary(lm(y~x1+x2))$r.squared-summary(lm(y~x2))$r.squared
## [1] 0.02817837
#Perhitungan korelasi semi parsial kuadrat
semi.par.r^2
## [1] 0.02817837
  1. Bagian ini berisi perintah-perintah untuk memperoleh koefisien-koefisien di atas dengan cara lain.
#Koefisien regresi yang tak terstandardisasi
x1.star=lm(x1~x2)$residual
yx2.star=lm(y~x2)$residual
lm(yx2.star~x1.star)$coeff
##   (Intercept)       x1.star 
## -1.421335e-17  1.868164e-01
lm(y~x1+x2)$coeff
## (Intercept)          x1          x2 
## -0.01433446  0.18681637  0.26569439
#Koefisien korelasi parsial
x1.star=lm(x1~x2)$residual
yx2.star=lm(y~x2)$residual
cor(yx2.star,x1.star)
## [1] 0.1742675
pcor(cbind(x1,x2,y))$estimate[3,1]
## [1] 0.1742675
#Koefisien korelasi semi parsial
x1.star=lm(x1~x2)$residual
cor(x1.star,y)
## [1] 0.1678641
spcor(cbind(x1,x2,y))$estimate[3,1]
## [1] 0.1678641