【发布时间】:2019-02-06 20:33:52
【问题描述】:
所以我正在处理一个涉及泰坦尼克号乘客数据的数据集,您可以找到here。
所以我在这里使用提供的火车数据。我想通过使用 model.matrix 函数。
之后,从该数据集中移除 Survived 变量。
从这个矩阵中,我想将 PCA 拟合到上一步中的矩阵,并绘制观察值的分数(仅使用前 2 个维度)并根据幸存变量为它们着色。
我尝试了几种方法,但它似乎不准确,也没有颜色。
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)
【问题讨论】: