如何解决如何重建 tidy.prcomp 输出,使其显示观察/样本和载荷/旋转之间的联系?
我想问一下您如何显示 broom::tidy(PCA,matrix="loadings")
输出的行列?
broom::tidy(PCA)
的第一列显示了我希望在 broom::tidy(PCA,matrix = "loadings")
的第一列中显示的列。
这可能并且正确吗?
# Sample dataset
library(tidyverse)
library(phyloseq)
data("GlobalPatterns") # from phyloseq package
ps <- GlobalPatterns
ps <- transform_sample_counts(ps,function(x)
x / sum(x))
ps_otu <- otu_table(ps) %>% t() %>% as.data.frame()
sample_data <- sample_data(ps) %>% data.frame()
PCA <- prcomp(ps_otu,center = T)
# Code to force produce the expected output below
broom::tidy(PCA) %>%
slice(1:25) %>%
mutate(value = pull(slice(broom::tidy(PCA,matrix = "loadings")[,"value"],1:25)))
# Expected output sample
# A tibble: 25 x 3
row PC value
<chr> <dbl> <dbl>
1 CL3 1 0.0000954
2 CL3 2 -0.00000256
3 CL3 3 0.00000124
4 CL3 4 -0.00000739
5 CL3 5 0.000000362
6 CL3 6 -0.00000139
7 CL3 7 0.00000215
8 CL3 8 0.00000154
9 CL3 9 -0.000000883
10 CL3 10 -0.000000477
# ... with 15 more rows
非生物信息学的替代方案:
大家好, 有没有办法制作一个矩阵来显示观察/样本与特征载荷的关系? 例如,我期待类似以下捏造的数据。
library(tidyverse)
data("USArrests")
PCA <- prcomp(USArrests,scale. = T)
broom::tidy(PCA) %>% #from this matrix.
slice(1:10) %>% #pick the first 10 vector
mutate(value = pull(slice(broom::tidy(PCA,1:10))) #and then use it to replace this matrix's first column
这可能并且正确吗?
谢谢
非常感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。