11

我想根据某些行索引为配对图中的点着色。这是我用于绘制 1 个变量与另一个变量的代码。

cases<-which(rownames(data_no_na) %in% colnames(tumor_data))
controls<-which(rownames(data_no_na) %in% colnames(control_data))

plot(y=range(pca[,1]),x=range(pca[,2]),type='n',xlab="Principle Component 2",ylab="Principle Component 1", main="Iterative Thresholding Sparse PCA")

points(y=pca[cases,1], x=pca[cases,2], col = 'red' )
points(y=pca[controls,1], x=pca[controls,2], col = 'blue' );

一个简单的配对图类似于:

pairs(pca[,1:3])

编辑:示例:

cases<-1:10
controls<-11:20

pca<-matrix(c(rnorm(3*10,0,1),rnorm(3*10,5,1)),nrow=20,ncol=3)
4

2 回答 2

24

像这样的东西?

cols <- character(nrow(iris))
cols[] <- "black"

cols[iris$Species %in% c("setosa","versicolor")] <- "blue"
cols[iris$Species == "virginica"] <- "red"
pairs(iris,col=cols)
于 2013-03-24T15:08:14.623 回答
3

我不确定@Roland 的答案是否适用于某些版本,但至少在我的 Windows R 3.4.2 中,它没有。

函数对有许多参数。其中一些用于指示映射到对角线、上面板和下面板的功能。默认情况下,它使用绘图(点)函数。

此函数有一个参数bg用于指定接受它的标记的填充颜色,例如pch = 21.

此外,使用 unclass 可以更有效地完成颜色映射。例如,使用两级因子变量:

colors <- c('black', 'red')[unclass(factor_variable)]

然后,这很神奇:

pairs(data, bg=colors)
于 2018-03-07T02:39:25.280 回答