问题标签 [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.
r - 如何解决 prcomp.default():无法将常量/零列重新缩放为单位方差
我有一个包含 9 个样本(行)和 51608 个变量(列)的数据集,每当我尝试对其进行缩放时,我都会不断收到错误消息:
这工作正常
然而,
给
显然,发布一个可重现的例子有点困难。任何想法可能是什么交易?
寻找常量列:
输出:
所以没有常数列。与 NA 相同-
这工作正常:
但后来两者仍然给出完全相同的错误:
那么为什么我不能在这些数据上得到一个缩放的 pca 呢?好的,让我们 100% 确定它不是恒定的。
同样的错误。数字数据?
还是一样的错误。我没主意了。
编辑:更多和一个黑客至少可以解决它。
后来,仍然很难对这些数据进行聚类,例如:
在某个截止值(例如 < 1 到零)下修整值无效。最终起作用的是修剪所有列中超过 x 个零的列。为 # zeros <= 6 工作,但 7+ 给出错误。不知道这是否意味着这是一个普遍的问题,或者这是否只是碰巧捕获了有问题的列。仍然会很高兴听到是否有人有任何想法,因为只要没有变量全为零(或以另一种方式保持不变),这应该可以正常工作。
r - PCA 分数与 Varimax 旋转 PCA 分数
我prcomp
在 R 中使用我的 75-76 个指标变量和 7232 家公司(包括 NA)的数据库执行了 PCA。在应用该函数之前,我将我的数据居中,但没有重新调整它们,因为它们都是指标变量。(我的推理正确吗?)
之后,我按照amoeba herevarimax
的说明旋转了 2 或 3 个第一主成分的负载。
由于我已经居中,但没有重新调整我的数据,我将代码更改为:
现在我想弄清楚为什么“prcomp”给出的分数和使用上面代码获得的分数不一样。
我可能缺少一些理论背景,所以如果有人能告诉我分数是否应该相同,我将不胜感激,在这种情况下,我在代码中做错了什么。如果它们不应该相同,我应该使用哪些?
非常感谢!
r - 绘制 prcomp 矩阵中的数据子集而不重新运行 prcomp
我正在向 2 年前发布的类似帖子提出问题,但没有完整的答案(R 中 prcomp 对象的子集)。PS很抱歉评论它的答案..
基本上,我的问题是一样的。我使用 prcomp 生成了一个 PCA 表,该表具有 10000 多个基因和 1700 多个细胞,由 7 个时间点组成。将它们全部绘制在一个文件中会让人很难看清。
我想分别绘制每个时间点,使用相同的 PCA 结果表(即不重新运行 prcomp)。
感谢 Dean 给我发帖的提示。想出一种方法来描述我的数据集而不实际加载它,我相信需要一周的时间。我也试过
选项,但信息太多了,因为我有这么大的数据集。简而言之,它是一个单细胞数据集的大型矩阵,人们通常可以在 Seurat 等软件包上看到(https://satijalab.org/seurat/pbmc3k_tutorial_1_4.html)。编辑:我在这里()发布了我的矩阵子集的屏幕截图。
抱歉,我不知道如何重新创建它甚至导出文本格式。但这是我可以提供的: 我的 TPM 矩阵有 16541 行(定义基因)和 1798 列(定义单元格)。
在其中,我使用以下代码根据时间点“重新标记”了我的列:
......我继续标记每个时间点。
每个时间点也被赋予了特定的颜色。
......我继续给每个时间点上色。
我使用以下代码执行了 PCA:
然后我开始使用以下方法绘制 PCA 图:
然后,当我想仅使用 D0 绘制 PCA 图时,使用相同的 PCA 输出(pcaRes)。这就是我卡住的地方。
PS如果其他人有更简单的方法来建议如何从我的大矩阵中输入示例数据,我欢迎任何帮助。非常感谢!对不起,我是生物信息学的新手。
r - 使用 scatter3D 再现 pca 图时出错
我已经对mtcars 数据集进行了主成分分析,并使用 scatter3D 使用下面给出的代码对其进行了绘制:
但是当我尝试为下面给出的数据集重现相同的图时:
使用上面给出的相同代码,我得到以下错误:
我的数据集上的这个 pca 没有生成任何 pca 分数,如下所示:
也许这是下一个语句中错误的原因:
data.frame(..., check.names = FALSE) 中的错误:参数暗示不同的行数:24, 0
如何消除此错误并重现以上情节?
下面显示的是我的数据集的 dput() 输出
r - 如何使用 pcromp 包从 PCA 获取前 8 个组件?
我正在使用 prcomp 实现 PCA。
我正在使用 lm 函数进行回归,如下所示:
如果我只想将前 8 个分量用作回归的自变量,如何提取这些分量?
r - 如何从 R 中的主成分计算指数或分数?
如何从主成分分析中计算指数/分数?
这是一个可重现的示例
这会产生三个主要成分。我可以使用这些来计算上述数据中每一行的分数或称为“响应指数”的指数吗?
r - 低 PCA 负载(尤其是在 PC1 和大多数其他设备上)
我有一组 100 个变量,旨在减少我的数据维度以进行进一步的后续分析。大约有 300 个观测值。
在prcomp()
R (with retx= TRUE
) 中,我的 PC1 的负载 (abs) 都低于 0.20。而且,大多数其他 PC 的负载 (abs) 也在 0.01-0.30 的范围内。
在这种情况下你会怎么做?
谢谢你。
r - Prcomp:有关比例参数的信息
我prcomp()
第一次在 R 上使用,我想知道关于scale
参数的描述,特别是这部分:
为了与 S 保持一致,默认值为 FALSE,但通常建议进行缩放。
我在其余文档中找不到对 S 的任何引用。它代表什么?
r - 使用 prcomp 时将列标签作为变量名
我有一个带有列标签的数据框*。例如,在使用时,我如何使用或显示这些列标签而不是列名prcomp
?(get_label
下面的函数,来自包sjlabelled
。)
我(通过prcomp
)得到的是:
我想要的是:
* 数据集通过包从spss(dropbox 链接到 .savhaven
)以下列方式导入:
(我确信有更有效的方法来获取“wvs_e0690_00 和 wvs_e0690_20 之间的所有内容”,但至少这可以解决问题。不过,指针很受赞赏。正如你所知,我是r的初学者。)
的输出str(spss.wvs[1])
是: