如何更改数据点的颜色以匹配治疗组?

问题描述 投票:0回答:1

我目前正在使用RStudio使用从SPSS导入的数据为我的PCA生成3D图。

目前,我有10个治疗组,每个治疗组有5个科目。我想绘制一个3d图,其中每个治疗组用一种颜色表示,同一治疗组中的每个受试者具有相同的颜色。同样重要的是这些颜色都不会重复。

我能够生成3d图,但是有2个处理组使用相同的颜色。

任何人都可以帮我纠正这个问题,以便不同的治疗组没有重复的颜色吗?

这是我正在使用的代码。

db = file.choose()

hpca = read.table(db, header=TRUE)

pc <- princomp(hpca[,2:7], cor=TRUE, scores=TRUE)


 plot3d(pc$scores[,1:3], col=hpca$group, size = 6)
 text3d(pc$scores[,1:3],texts=hpca$ï..tag)
 text3d(pc$loadings[,1:3], texts=rownames(pc$loadings), col="red")
 coords <- NULL
 for (i in 1:nrow(pc$loadings)) {
     coords <- rbind(coords, rbind(c(0,0,0),pc$loadings[i,1:3]))
 }
 lines3d(coords, col="red", lwd=4)

* P / S;我是R编程的新手,大部分代码都是从在线指南中复制而来的。因此,如果您能告诉我确切包含更改的位置,那将非常有用。提前谢谢了!

r pca rgl
1个回答
0
投票

您将颜色设置为组值。这有时是有效的,因为组值通常是因子,因子存储为整数值,但它有点受欢迎。

最好明确地计算颜色。例如,您可以使用10种颜色的矢量

cols <- rainbow(10)

然后用它作为

plot3d(..., col=cols[as.numeric(gp)])

如果gp包含10个级别的因子。

基础R中有几个函数可以选择颜色(参见?rainbow)以及其他用于不同调色板的贡献包中的函数。

© www.soinside.com 2019 - 2024. All rights reserved.