(R) 使用 PCA (ggbiplot) 可视化具有大量变量的数据集
(R) Visualizing a data set with large number of variables using PCA (ggbiplot)
我的数据集有 100 个样本和 17000 个变量。我会使用 PCA 并可视化数据。但问题是剧情不好。我如何控制 ggbiplot
或 biplot
中的箭头数量,实际上是 select 贡献最大的变量?
部分示例代码如下:
data <- matrix(rnorm(1700000), nrow=100, ncol=17000)
colnames(data) <- paste("X", 1:ncol(data), sep="")
pca <- prcomp(data, scale=T, center=T)
biplot(pca)
print(ggbiplot(pca, obs.scale = 1, var.scale = 1,
groups = c(rep('a',30), rep('b',70))))
我假设您从 github(2015 年 6 月 19 日 https://github.com/vqv/ggbiplot)获得了最新版本的 ggbiplot。
在这一个中,我不认为有一个干净的方法来减少箭头的数量。
您必须通过在两个绘图调用中对 df.v
进行子集化来修改原始函数:
第 89 行附近:
g <- g + geom_segment(data = df.v[1:5,], # SUBSET HERE
aes(x = 0, y = 0, xend = xvar, yend = yvar), arrow = arrow(length = unit(1/2, "picas")), color = muted("red"))
以及第 127 行附近:
g <- g + geom_text(data = df.v[1:5,], # SUBSET HERE
aes(label = varname, x = xvar, y = yvar, angle = angle, hjust = hjust), color ="darkred", size = varname.size)