问题标签 [prcomp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
82 浏览

r - prcomp( .. ,retx=TRUE),我可以得到新的数据来训练吗?

我在解释结果时遇到了一些问题prcomp()

假设我有一个名为 dat 的居中和缩放的 data.table,有 N 列和 M 行。事实上,每一列代表一个特征,每一行代表一个记录。我还得到了一个 M 维的结果向量Y

我想知道这个系统的 PCA 是怎么说的。所以我刚刚执行:

通过肘部方法,我决定保留 5 个 PCA 模式,占方差的 90%。然后,我得到以下信息data.table

dat.pcadata有M行N列,每列对应一个PCA模式。

我的问题是:如果我说现在应该训练我的系统使用dat.pcadataas 特征的前 5 列来预测结果 Y,我是否理解正确?

0 投票
0 回答
243 浏览

r - 在 PCA 分析中使用因子值(使用 prcomp)

我试图弄清楚如何将因素/水平纳入我的 PCA 分析。假设我有以下内容:

理论上 df[,"col1"] 在 df 内部是数字(因为它是一个因子),所以我应该能够使用它的因子值进行 PCA 分析。但我似乎无法弄清楚我该怎么做:

如何将col1我的 PCA 分析纳入其中?我应该使用另一个 PCA 函数吗?

0 投票
2 回答
511 浏览

r - ggbiplot 以前与 prcomp 一起工作,现在不会

ggbiplot以前使用没有问题,prcomp但现在没有。我收到的只是以下错误代码:

plot_label 中的错误(p = p,数据 = plot.data,label = label,label.label = label.label,:不支持的类:prcomp

我已经安装了ggbiplotusingdependencies=TRUE以及其他关于类似问题的所有其他帖子,但我仍然收到此消息。

任何帮助表示赞赏。

plot_label 中的错误(p = p,数据 = plot.data,label = label,label.label = label.label,:不支持的类:prcomp

0 投票
0 回答
28 浏览

r - 我的组件功能比给定的数据短得多

我正在尝试对超过 140 个时间点和空间的海带种群数据运行 PCA。但是,我的主成分函数只有38个点,而我的数据有140个。PC函数不应该和你给prcomp的数据行数一样长吗?

我在一个非常相似的数据矩阵上使用了这个精确的代码,PC 函数中有 140 个点,就像数据一样。

当我绘制我的 PCA 的第一台 PC 时,我希望它显示一个具有 140 个时间点的函数。但是,它显示了一个具有 38 个时间点的函数。我误解了 PCA 的工作原理还是我的代码有问题?

0 投票
1 回答
130 浏览

r - 对存储在列表中的数据应用 PCA

我的图像数据存储在列表中。对于我图像的每个像素(626257),我都有一个向量,其中包含对应于不同波长(44 个波长)的所有值。现在我想进行主成分分析(PCA)。不幸的是,我无法将列出的数据转换为所需的形式。这是生成虚拟数据集的代码。

当我现在尝试执行 PCA 时,会弹出以下错误消息。

如何将我的列表转换为合适的数据类型?

0 投票
1 回答
373 浏览

r - 在r中使用prcomp for PCA时显示对应PC的名称

我使用 prcomp 在 r 中运行 PCA。当我输出汇总,即标准差、方差比例、累积比例时,结果总是有序的,实际的列名替换为PC1、PC2。因此,我无法说出每列的确切方差比例。

任何人都可以告诉我或给我一些关于在输出汇总结果时如何显示列的提示。附上两张结果图片:

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
56 浏览

r - ggbiplot 返回一个空白的红色列

我有一个包含 47,303 个探针和 6 个样本处理时间点的微阵列。

它们在一个大矩阵中:

我做了以下事情:

使用 ggplot2 我可以使用以下代码可视化 PCA:

ggplot2 生成的 PCA 可视化

我想使用 ggbiplot 生成信息量更大的可视化,如下所示:https ://datacamp.com/community/tutorials/pca-analysis-r 。

如果我使用 ggbiplot 使用以下代码执行此操作:

我得到以下图表:

基本 PCA 图

但是,如果我这样更改一个设置var.axes = T

然后我得到以下空白图:

空白的红色图表

任何人都可以帮我解决这个问题吗?

0 投票
1 回答
533 浏览

r - 如何拆分显示主要主成分数量的直方图或绘图?

我已经使用 FactoMineR 包中的 prcomp 函数在相当大的 3000 x 500 数据集上执行了 PCA 分析。

我尝试使用 fviz_eig 图绘制覆盖高达 100% 的累积方差比例的主要主成分。然而,由于数据集的维度很大,这是一个非常大的图。R中是否有任何方法可以使用for循环或任何其他方式将一个图拆分为多个图?

这是我的情节的视觉效果,由于它很大,因此仅涵盖 80% 的方差。我可以把这个地块分成 2 个地块吗?

大数据集可视化

我尝试使用 for 循环拆分情节...

但这不起作用。

编辑的可重现示例:

这只是使用 R 中已经可用的数据集的一个小的可重复示例,但我对我的大型数据集使用了类似的方法。它将向您展示情节的实际运作方式。

PCA 分析 Fviz_eig 图

但是,我的大型数据集有比这个更多的 PC(可能有 100 台或更多台,以覆盖高达 100% 的累积方差比例),因此这就是为什么我想要一种方法将单个图拆分为多个图以获得更好的可视化.

更新:

我已经执行了下面@G5W 所说的话......

我现在有一个图表如下......

图形

但我发现很难让标签出现在每个条形上方。有人可以为此提供帮助或建议吗?

0 投票
1 回答
81 浏览

r - R成对PCA函数转换X是非数字对象

我正在编写一个函数,该函数对 xts 对象中的变量对执行 PCA,直到所有变量之间的相关性小于 0.1。这是我写的函数:

但是,当我运行函数 r 返回一个奇怪的错误:

我用来测试函数的数据是一个 xts 对象,它没有任何缺失的观察结果。此外,所有变量都具有非零方差,并且数据中只有连续的数值变量。

0 投票
1 回答
116 浏览

r - 我已经为 PCA 标记了数据矩阵。如何使用 r 根据 PCA 中的每个标签为它们着色?

我的数据矩阵有 100 行和 900 列。这里每一行代表一个红外光谱。该列代表波数。前 23 行属于来自同一样品的不同 IR 光谱(即来自样品中 23 个不同位置的光谱)。同样,我测量了 5 个样本,每个样本都有一定的观察次数。例如:1-23 行属于样本 1,24:40 属于样本 2。现在我想根据样本颜色为我的 PCA 分数图中的分数着色,并用样本名称标记颜色。比如,23 个蓝色分数,然后是一个引用样本 1 的标签。

我在引用样本名称的数据矩阵中添加了一个名为 label 的额外列。但我不知道如何进一步?