r - 如何以数据框格式绘制主成分的方差?
问题描述
我正在尝试绘制如下所示的内容,但使用数据框对象。我的特征值采用 DF 格式,如下所示。我们怎样才能把它画出来?
library("factoextra")
data(iris)
res.pca <- prcomp(iris[, -5], scale = TRUE)
# Extract the eigenvalues/variances
get_eig(res.pca)
fviz_eig(res.pca, geom="line")
DF <- as.data.frame(res.pca$x)
解决方案
您可以计算解释方差的比例,如下所示:
library(factoextra)
library(tidyverse)
data(iris)
res.pca <- prcomp(iris[, -5], scale = TRUE)
DF <- as.data.frame(res.pca$x)
new_DF <- tibble(`Percentage of Variance Explained` = c(sd(DF$PC1)^2 / 4,
sd(DF$PC2)^2 / 4,
sd(DF$PC3)^2 / 4,
sd(DF$PC4)^2 / 4),
Dimensions = 1:4)
ggplot(new_DF, aes(x = Dimensions, y = `Percentage of Variance Explained`)) +
geom_line() +
geom_point() +
scale_y_continuous(labels = scales::percent_format())
推荐阅读
- java - 实时缓存 401 中找不到 PayPal 访问令牌
- maven - 运行自由式 maven-gatling 项目时 Jenkins 工作失败
- c++ - 构建统一 2019.1.2 项目时 Xcode 10.2.1 挂起
- javascript - 如何获取日期的年份和月份
- excel - VBA - 循环以标准化某些工作表中的标题但省略一些
- php - 将数组打印到电子邮件
- sql - 如何从该表中找到每位员工的工作小时数?
- sql - SQL 查询返回表 A 中的所有结果,仅返回表 B 中未包含在表 A 中的结果
- java - 如何解析大型 JSON 文件以获取搜索栏建议
- php - WordPress 自定义元框不保存每个框的多个字段