簡體   English   中英

使用R中的model.matrix函數擬合PCA

[英]Fitting PCA using the model.matrix function in R

因此,我正在處理一個數據集,其中包含有關泰坦尼克號上乘客的數據,您可以在此處找到。

因此,我在這里使用提供的火車數據。 我想通過使用model.matrix函數創建僅包含數字(無因子!)的數據集的模型矩陣。

之后,從該數據集中刪除Survived變量。

從這個矩陣中,我想將PCA擬合到上一步中的矩陣,並繪制觀測值的分數(僅使用前兩個維度),然后根據Survived變量為它們着色。

我嘗試了幾種方法來執行此操作,但它似乎不准確,也沒有顏色。

 library(readr)
 library(dplyr)
 titanic_train <- read_csv("C:/Users/johnt/Desktop/Statistical Data Mining/HW 1/train.csv")

 titanic_train <- titanic_train %>% 
   select(Survived, Pclass, Sex, Age, SibSp, Parch, Fare, Embarked) %>% 
   mutate(Fare = log(Fare))


 ###### Model Matrix

 mm <- titanic_train %>% 
   select(Pclass, Age, SibSp, Parch, Fare, Survived) 

 titan <- model.matrix(-Survived ~., mm)

 #Clean it up
 titan <- titan[,-1] #remove intercept column
 titan <- scale(titan)
 titan[is.na(titan)] <- 0

 #PCA
 titan2 <-prcomp(titan[,-5], center = TRUE, scale. = TRUE)
 titan2


 plot(titan2$x[,1:2],col=mm$Survived)

您嘗試過ggbiplot(titan2)嗎?

當然,如果要這樣做,則必須先過濾以僅使用前兩列,然后才能在prcomp上運行它

您能否舉例說明PCA的外觀?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM