Langkah-Langkah Analisis Faktor / Principal Component Analysis (PCA) dengan R

Portal-Statistik | Langkah-Langkah Analisis Faktor dengan R. Selamat malam kawan blogger semuanya, weekend sudah tiba waktunya melepaskan penat ya hehe. Tak apalah malam ini saya akan sedikit berbagi kepada teman-teman semua tentang Analisis faktor dengan R dan Analisis Faktor dengan SPSS.

Berbicara tentang Analisis Faktor tentunya tidak lepas dari jumlah variabel yang banyak atau terkendala masalah asumsi multikolinearitas yang tidak terpenuhi pada data yang dianalisis. Biasanya analisis faktor ini dilanjutkan dengan analisis regresi yang biasanya disebut dengan Regresi PCA, penjelasan lebih lanjut tentang Analisis Faktor atau Principal Component Analysis silahkan baca link pada link tersebut.

Pada tutorial kali ini, akan saya coba jelaskan tentang bagaimana melakukan analisis faktor dengan aplikasi R, saya menggunakan R versi 3.2.2 64 Bit.

Sebelum mulai melakukan analisis ada paket instalasi yang terlebih dahulu harus di install yaitu paket psych. Silahkan install paket tersebut terlebih dahulu. Untuk tutorial cara instalasi paket di R silahkan bisa dibaca.

Mari mulai...

Studi Kasus
Data yang digunakan penelitian ini merupakan data sekunder, yang membahas tentang teori Big Five Personality, dimana data ini merupakan hasil kuesioner yang dikumpulkan. Data yang digunakan dalam penelitian ini terdiri dari 25 variabel atau 25 item pertanyaan dari kuesioner yang teridiri dari 2800 responden.

Adapun variabel yang digunakan dalam penelitian ini adalah 25 item pertanyaan hasil dari kuesioner psikologi dengan skala linkert 1-7 yang terdiri dari:
P1    Saya Acuh tak acuh terhadap perasaan orang lain
P2    Saya menanyakan tentang kesehatan orang lain
P3    Saya tahu bagaimana cara menghibur orang lain
P4    Saya mencintai anak-anak
P5    Saya membuat orang lain nyaman
P6    Saya merasa berat dengan pekerjaan saya
P7    Saya selalu mengerjakan sesuatu sampai selesai
P8    Saya melakukan sesuatu sesuai dengan rencana.
P9    Saya melakukan sesuatu hal setengah-setengah
P10     Saya selalu merasa kehabisan waktu
P11    Saya tidak suka banyak bicara
P12    Saya merasa sulit untuk mendekati orang lain.
P13    Saya tahu bagaimana memikat orang.
P14    Buat teman-teman dengan mudah.
P15    Saya merasa bahwa saya yang harus bertanggung jawab
P16    Saya mudah marah.
P17    Saya mudah kesal
P18    Suasana hati saya mudah berubah
P19    Saya sering merasa sedih/murung
P20    Saya mudah panik
P21    saya penuh dengan ide
P22    Saya tidak suka memaksakan kehendak saya terhadap orang lain
P23    Saya suka membawa percakapan ke tingkat yang lebih tinggi.
P24    Saya menghabiskan waktu untuk memikirkan sesuatu hal\
P25    Saya tidak suka mengikuti suatu permasalahan terlalu dalam

Kita mempunya 25 buat item pertanyaan dimana untuk analisis lebih lanjut kita membutuhkan semacam penyederhanaan variabel tanpa menghilangkan informasi yang berharga dari data tersebut.
Maka digunakanlah Analisis Faktor untuk menangani data tersebut.

Langkah-Langkah Analisis Faktor dengan R

  1.  Pastikan anda sudah menginstall aplikasi R berserta paket instalasi "psych".
  2. Silahkan import atau masukkan data kedalam R, bagi yang belum bisa silahkan baca cara import atau memasukkan data ke dalam R.
    datamissing<-read.delim("clipboard")
    summary(datamissing)
  3. Pada data tersebut terdapat data missing, kita akan menangani data missing terlebih dahulu,
    data <- na.omit(datamissing)
    summary(data)
    Sekarang data sudah tidak ada yang missing lagi.
  4. Melihat korelasi data, Pengujian KMO (Kaiser Meyer Olkin) dan Bartlett’s.
    kmo <- function(x)
    {
      x <- subset(x, complete.cases(x))
      r <- cor(x)    
      r2 <- r^2      
      i <- solve(r)  
      d <- diag(i)   
      p2 <- (-i/sqrt(outer(d, d)))^2 
      diag(r2) <- diag(p2) <- 0      
      KMO <- sum(r2)/(sum(r2)+sum(p2))
      MSA <- colSums(r2)/(colSums(r2)+colSums(p2))
      return(list(KMO=KMO, MSA=MSA))
    }

    uji_bart <- function(x)
    {
      method <- "Bartlett's test of sphericity"
      data.name <- deparse(substitute(x))
      x <- subset(x, complete.cases(x))
      n <- nrow(x)
      p <- ncol(x)
      chisq <- (1-n+(2*p+5)/6)*log(det(cor(x)))
      df <- p*(p-1)/2
      p.value <- pchisq(chisq, df, lower.tail=FALSE)
      names(chisq) <- "Khi-squared"
      names(df) <- "df"
      return(structure(list(statistic=chisq, parameter=df, p.value=p.value,
                            method=method, data.name=data.name), class="htest"))
    }

    cor(data)
    uji_bart(data)
    kmo(data)
  5. Selanjutnya kita akan melakukan analisis faktor dengan bantuan paket psych.
    library(psych)
    pcadata.r <- principal(data,nfactor=5,rotate="varimax",scores=T)
  6. Selanjutnya membuat plot untuk faktor yang terbentuk.
    plot(pcadata.r$values, type="b",ylab="Nilai Eigenvalues",xlab="Komponen yang terbentuk", lab=c(5,5,5))

Hasil faktor yang kita dapatkan adalah.
Full Script bisa didapatkan disini.
Oke, selesai, kita sudah mendapatkan hasil output Analisis Faktor dengan R.
Untuk penjelasan outputnya, silahkan baca interpretasi hasil analisis faktor.


Terimakasih.
Have Fun.
Tag : R, Statistik SPSS
4 Komentar untuk "Langkah-Langkah Analisis Faktor / Principal Component Analysis (PCA) dengan R"

saya ga nemu pysch di library. dan kalo mau pake maximimum likelihood dimana?

saya sudah coba listingnya, tapi saat run untuk cor(data) hasilnya error, dikatakan "'x' must be numeric". mohon bantuan penyelesaiannya.

Mas, boleh minta data kuesioner yang 2800 responden itu? saya butuh buat dipraktekan agar lebih paham, terimakasih :)

Permisi....

apakah ada input rumus buat hitung komunalitas?

Terima Kasih

Silahkan tinggalkan komentar, kritik, maupun saran dari sobat blogger tentang apa yang sobat rasakan setelah mengunjungi blog ini.

Back To Top