11

特定の行インデックスに基づいてペアプロットのポイントに色を付けたいと思います。これは、ある変数を別の変数に対してプロットするために使用したコードです。

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を使用すると、カラーマッピングをはるかに効率的に実行できます。たとえば、2レベルの因子変数を使用すると、次のようになります。

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

次に、これは魔法を行います:

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