用颜色绘制 PCA 分数

2023-12-15

我正在做 PCA,我想在 R 中绘制第一个主成分与第二个主成分的关系:

pca<-princomp(~.,data=data, na.action=na.omit
plot(pca$scores[,1],pca$scores[,2])

或者可能是几个主要组成部分:

pairs(pca$scores[,1:4])

然而这些点是黑色的。如何适当地为图表添加颜色?我需要多少种颜色?我正在绘制的每个主成分都有一个?或者我的数据矩阵中的每一行都有一个?

Thanks

EDIT:

我的数据如下所示:

> data[1:4,1:4]
                          patient1                     patient2                     patient3                     patient4
2'-PDE                    0.0153750                    0.4669375                   -0.0295625                    0.7919375
7A5                       2.4105000                    0.3635000                    1.8550000                    1.4080000
A1BG                      0.9493333                    0.2798333                    0.7486667                    0.7500000
A2M                       0.2420000                    1.0385000                    1.1605000                    1.6777500

那么这样是否合适:

plot(pca$scores[,1:4], pch=20, col=rainbow(dim(data)[1]))

以下是 PCA 的一些示例图。取自here.

z1 <- rnorm(10000, mean=1, sd=1); z2 <- rnorm(10000, mean=3, sd=3); z3 <- rnorm(10000, mean=5, sd=5); z4 <- rnorm(10000, mean=7, sd=7); z5 <- rnorm(10000, mean=9, sd=9); mydata <- matrix(c(z1, z2, z3, z4, z5), 2500, 20, byrow=T, dimnames=list(paste("R", 1:2500, sep=""), paste("C", 1:20, sep=""))) 

summary(pca) 
summary(pca)$importance[, 1:6] 

x11(height=6, width=12, pointsize=12); par(mfrow=c(1,2)) 

mycolors <- c("red", "green", "blue", "magenta", "black") # Define plotting colors. plot(pca$x, pch=20, col=mycolors[sort(rep(1:5, 500))]) 

plot(pca$x, type="n"); text(pca$x, rownames(pca$x), cex=0.8, col=mycolors[sort(rep(1:5, 500))]) 

您可以使用对

pairs(pca$x[,1:5], col = mycolors) 

绘制前两个主成分以及存储在 pca$rotation 中的相应特征向量的散点图。

library(scatterplot3d) 
scatterplot3d(pca$x[,1:3], pch=20, color=mycolors[sort(rep(1:5, 500))]) 

与上面相同,但在 3D 散点图中绘制前三个主成分。

library(rgl); rgl.open(); offset <- 50; par3d(windowRect=c(offset, offset, 640+offset, 640+offset)); rm(offset); rgl.clear(); rgl.viewpoint(theta=45, phi=30, fov=60, zoom=1); spheres3d(pca$x[,1], pca$x[,2], pca$x[,3], radius=0.3, color=mycolors, alpha=1, shininess=20); aspect3d(1, 1, 1); axes3d(col='black'); title3d("", "", "PC1", "PC2", "PC3", col='black'); bg3d("

后者使用 Open GL 创建交互式 3D 散点图。为此需要安装 rgl 库。要保存图形的快照,可以使用命令 rgl.snapshot("test.png")。

require(GGally)
ggpairs(pca$x[,1:5])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用颜色绘制 PCA 分数 的相关文章

  • R 脚本自动化时的不同结果

    以下命令对 pdf 文件执行 Ghostscript 这pdf file变量包含该 pdf 的路径 bbox lt system paste C gs gs8 64 bin gswin32c exe sDEVICE bbox dNOPAUS
  • 如何让 print() 将参数传递给 R 中用户定义的打印方法?

    我在 R 中定义了一个 S3 类 它需要自己的打印方法 当我创建这些对象的列表并打印它时 R 按其应有的方式对列表中的每个元素使用我的打印方法 我想对打印方法实际显示的数量进行一些控制 因此 我的类的 print 方法需要一些额外的参数 但
  • 返回数据帧 R 中的下一行

    我有一个看起来像这样的数据框 kind datetime book 2016 04 23 04 23 00 pen 2016 04 23 04 30 00 toy 2016 04 23 06 45 00 我想为数据集中的每一行返回下一行的日
  • .wav 文件长度/持续时间,无需读入文件

    有没有办法提取有关 wav 文件长度 持续时间的信息 而无需在 R 中读取文件 我有数千个这样的文件 如果我必须阅读每个文件才能找到其持续时间 那将需要很长时间 Windows 文件资源管理器为您提供了打开 长度 字段的选项 并且您可以查看
  • 如何在R中删除重复项

    我有一个非常大的数据集 如下所示 df lt data frame school c a a a b b c c c year c 3 3 1 4 2 4 3 1 GPA c 4 4 4 3 3 3 2 2 school year GPA
  • 如何从 Fortran 调用 R 函数?

    根据http gallery rcpp org articles r function from c http gallery rcpp org articles r function from c Rcpp 允许用户从 C 调用 R 函数
  • R中的一元加/减是什么?

    来自 R 的详细信息部分Syntax http stat ethz ch R manual R patched library base html Syntax html帮助页面 定义了以下一元和二元运算符 他们被列出 在优先级组中 从最高
  • 在 R 中向散点图添加线条

    如何向图表添加线条 我做了以下 dat lt data frame xvar 1 20 rnorm 20 sd 10 yvar 1 20 rnorm 20 sd 10 zvar 1 20 rnorm 20 sd 10 plot dat 1
  • R - Plm 和 lm - 固定效应

    我有一个平衡面板数据集 df 本质上由三个变量组成 A B and Y 对于一堆独特识别的区域来说 它会随着时间的推移而变化 我想运行一个回归 其中包括区域 下面等式中的区域 和时间 年份 固定效应 如果我没记错的话 我可以通过不同的方式来
  • 使用 pracma::findpeaks 识别持续峰值

    我的语法有问题peakpat内的选项findpeaks内的函数pramcaR 包 v 2 1 1 我使用的是 R 3 4 3 x64 Windows 我希望该函数能够识别可能有两个重复值的峰值 并且我相信该选项peakpat这就是我能做到的
  • 多功能测试仪替代 system.time

    我已经看到 我认为是这样 使用了类似于 system time 的函数 它可以同时评估多个函数的时间并输出一个输出 我不记得它是什么 并且用我正在使用的术语进行互联网搜索并没有得到我想要的响应 有人知道我正在谈论的功能的名称 位置吗 你想要
  • 将数据框中的每个 x 个字符拆分为字符串

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • R 中的快速 QR 分解

    我有大量矩阵 需要对其执行 QR 分解并存储生成的 Q 矩阵 进行归一化 以便 R 矩阵在其对角线上具有正数 除了使用之外还有其他方法吗qr 功能 这是工作示例 system time Parameters for the matrix t
  • 在 R 中绘制 Likert 变量的堆积条形图

    假设我有一个如下所示的数据框 P Q1 Q2 1 1 4 1 2 2 3 4 3 1 1 4 其中的列告诉我哪个人相应地回答了问题 q1 q2 中的哪一个 这些问题需要按照 4 分李克特量表进行回答 例如 批准 表示 1 稍微批准 表示 2
  • API 请求和curl::curl_fetch_memory(url, handle = handle) 中的错误:SSL 证书问题:证书已过期

    几天前 我运行了代码几个月 没有任何问题 GET url myurl query 今天我遇到一个错误 Error in curl curl fetch memory url handle handle SSL certificate pro
  • 在 R 中创建虚拟变量,排除某些情况为 NA

    我的数据看起来像这样 V1 V2 A 0 B 1 C 2 D 3 E 4 F 5 G 9 我想创建一个虚拟变量R where 0 1 1 2 3 4 and NA 0 5 9 应该很简单 有人可以帮忙吗 我们可以转换V2 into a fa
  • 将每列的值乘以 R 中另一个 data.frame 中的权重

    我有两个data frames df and weights 代码如下 df看起来像这样 id a b d EE f 1 this 0 23421153 0 02324956 0 5457353 0 73068586 0 5642554 2
  • ddply 和aggregate 之间的区别

    有人可以通过以下示例帮助我了解聚合和 ddply 之间的区别 数据框 mydat lt data frame first rpois 10 10 second rpois 10 10 third rpois 10 10 group c re
  • 相当于 min() 的 rowMeans()

    我在 R 邮件列表上多次看到这个问题 但仍然找不到满意的答案 假设我有一个矩阵m m lt matrix rnorm 10000000 ncol 10 我可以通过以下方式获得每行的平均值 system time rowMeans m use
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou

随机推荐

  • 消息系统数据库架构

    我正在尝试在 PHP 和 MySQL 中实现消息传递系统 但在决定如何处理表和查询时遇到一些困难 对于允许多个参与者的系统来说 最好的方法是什么 我想我可能需要 3 个表 除了用户表 就像是 Conversation id Messages
  • v8 存储一个字符串需要多少内存?

    我正在尝试计算 v8 中字符串的内存使用量 并且我知道单个字符将占用 2 个字节 但是当我在开发工具中检查浅层大小和保留大小时 我对结果感到困惑 function Student this name lll var a new Studen
  • jQuery,检查视频是否有高度/宽度

    我有一个
  • 如何将 FFMpeg 构建为 iOS 框架

    我正在尝试在 FFMpeg 上构建自己的播放器基础 我成功将 FFMpeg 构建为静态库 a 但需要复制另一个头文件才能使用 我希望它能像框架一样使用 但即使我将头文件添加到框架中 设置为公共 我的演示应用程序在 FFMpeg framew
  • ASP.NET:为什么无法禁用控件状态

    我知道 ASP NET 不允许禁用控件状态 有谁知道吗why 我用谷歌搜索了很多 但只看到这是不可能的 但找不到 为什么 任何对此的想法都将受到欢迎 附 在我的特定情况下 我需要将很多项目放入下拉列表中 这些项目不会用于服务器端事件 我需要
  • 我被刮伤了,我该如何防止这种情况发生?

    运行 IIS 7 每周几次 我会看到来自一个地理位置的 Google Analytics 上的大量点击 他们正在查看的网址序列显然是由某种算法生成的 所以我知道我正在被抓取内容 有什么办法可以防止这种情况发生吗 谷歌不只给我一个IP 这让我
  • Android 多列列表视图

    我正在为我的应用程序创建一个排行榜 高分列表 我想以 4 列显示数据 排名 名称 创建者 得分 并通过对象列表相应地填充它们 我想在列表中一次显示 5 个项目 总共 20 个项目 使列表可滚动 我找不到合适的方法来做到这一点 由于我的工作截
  • 填充内联元素的顶部和底部

    引用 Head First html 您可以在内联元素的顶部和底部添加内边距 但内边距不会影响其周围其他内联元素的间距 因此内边距会与其他内联元素重叠 a 据我理解上面的引用 向内联元素的顶部和底部添加填充不会 永远 对周围的元素产生任何影
  • 是否可以修复完整内存转储,以便不再需要运行 .imgscan /l ?

    由于某种原因 我已经开始接收来自需要运行的生产的转储 imgscan l first 现在 我倾向于使用从 powershell 脚本调用的 CDB 对转储运行小型查询 然而 运行 imgscan l每次都需要相当长的时间 是否可以以渲染的
  • 当我使用 Nightmare 时,在页面之间移动并进行抓取

    有一个网站 其中包含一个包含 25 个条目列表的页面 其中每个条目都是指向包含我需要的一些信息的页面的链接 我想进入列表页面 然后 1 点击第一个条目的链接 2 检索所有html 3 点击返回列表页面 有一个按钮 4 对所有其他列表重复此操
  • 在 libav 中读取 dumepd RTP 流

    嗨 我需要一些帮助 指导 因为我陷入了我的研究之中 问题 如何在 API 通过编程 或控制台版本中使用 gstreamer 或 avlib ffmpeg 转换 RTP 数据 Data 我有来自 TCP 上的 RTP RTCP 的 RTP 转
  • WPF 动画仅触发一次

    我有一个小椭圆 每次依赖属性设置为 true 时我都希望它闪烁 因为该属性可以在几毫秒内很快从 true 变回 false 所以我需要使用动画而不是简单样式的数据触发器来完成此操作 基本上 我只想要真正的值来 ping 椭圆上的动画
  • fwrite 内部是否调用任何锁?

    在Solaris 中 当我将dbx 连接到正在运行的堆栈之一时 我发现对fwrite 的调用导致了 lll lock wait 什么情况下会发生这种情况 fwrite 是否在内部尝试获取锁 我查看的标准 C99 和 POSIX 没有提及有关
  • 如何在詹金斯中添加管理构建?

    我试图弄清楚如何向 Jenkins 添加管理构建来管理一些构建 以及如何将参数从管理构建传递到子构建 参数化触发器插件这就是您正在寻找的 安装插件后 请参阅下面的第二个快照 去Configure您的项目的页面 搜索Build gt Add
  • 从日期数组中查找缺失的日子 javascript

    我从 API 获取了一系列日期 0 date 2016 11 17T00 00 00 1 date 2016 11 18T00 00 00 2 date 2016 11 19T00 00 00 3 date 2016 11 21T00 00
  • 如何强制 CKEditor 保留
    标签

    我正在使用最新版本的 CKEditor 迄今为止为 4 7 和标准包 并且我希望能够强制它保留换行符元素 br 我尝试使用以下配置 但没有成功 CKEDITOR replace ck allowedContent true enterMod
  • 如何在 Flutter 的 pubspec.yaml 中以正确的方式设置依赖项

    以下是 Flutter 项目中 pubspec yaml 文件中的一些依赖项示例 dependencies flutter sdk flutter cloud firestore 0 14 4 firebase core web 0 2 1
  • Sublime Text 2 控制台和 python 3

    I am able to set python3 2 for the build command in sublime text 2 and build with python3 2 but when invoking the consol
  • 使用 nodeJS 和 Gulp 任务运行器自动缩小

    我需要一些建议来改进 node 和 gulp 的自动缩小 主要目标是在开发模式下动态生成缩小文件 JS 和 LESS 并在生产模式下自动将普通文件 js 和 less 更改为缩小文件 该场景包含 NodeJS 和 ExpressJS 用于路
  • 用颜色绘制 PCA 分数

    我正在做 PCA 我想在 R 中绘制第一个主成分与第二个主成分的关系 pca lt princomp data data na action na omit plot pca scores 1 pca scores 2 或者可能是几个主要组