R 带有ggplot2的PCA投影图

R 带有ggplot2的PCA投影图,r,plot,ggplot2,principal-components,R,Plot,Ggplot2,Principal Components,我有一个图,展示了点在轴上投影的想法,最大的变化。R中的代码粘贴在下面,我需要一个初始指针来指示如何在ggplot2中重现此绘图 # Simulate data library(mvtnorm) set.seed(2014) Sigma <- matrix(data = c(4, 2, 2, 3), ncol=2) mu <- c(1, 2) n <- 20 X <- rmvnorm(n = n, mean = mu, sigma = Sigma) # Run PCA

我有一个图,展示了点在轴上投影的想法,最大的变化。
R
中的代码粘贴在下面,我需要一个初始指针来指示如何在
ggplot2
中重现此绘图

# Simulate data
library(mvtnorm)
set.seed(2014)
Sigma <- matrix(data = c(4, 2, 2, 3), ncol=2)
mu <- c(1, 2)
n <- 20
X <- rmvnorm(n = n, mean = mu, sigma = Sigma)

# Run PCA
pca <- princomp(X)
load <- loadings(pca)
slope <- load[2, ] / load[1, ]
cmeans <- apply(X, 2, mean)
intercept <- cmeans[2] - (slope * cmeans[1])

# Plot data & 1st principal component
plot(X, pch = 20, asp = 1)
abline(intercept[1], slope[1])

# Plot perpendicular segments
x1 <- (X[, 2] - intercept[1]) / slope[1]
y1 <- intercept[1] + slope[1] * X[, 1]
x2 <- (x1 + X[, 1]) / 2
y2 <- (y1 + X[, 2]) / 2
segments(X[, 1], X[, 2], x2, y2, col = "red")

#模拟数据
图书馆(mvtnorm)
种子集(2014)

Sigma将矩阵X和向量x2和y2放在一个数据框中

df<-data.frame(X,x2,y2)

将矩阵X和向量x2和y2放在一个数据帧中

df<-data.frame(X,x2,y2)