0

マトリックスのリストがあります。リスト内の各行列のサイズは Nx2 です。N はマトリックスごとに異なる場合があります。plot() を使用して、個々のマトリックスごとに散布図を生成する方法を知っています。各マトリックスの散布図を同じプロットに入れ、各マトリックスに適切な色を自動的に割り当てる簡単な方法があるのではないかと思います。

たとえば、次のコードは 2 つの行列を含むリストを生成します。最初の行列は 20x2、2 番目は 10x2 です。

test = list()
test[[1]] <- replicate(2, rnorm(10))
test[[2]] <- replicate(2, rnorm(20))

plot(test[[1]]) または plot(test[[2]]) を使用して、個々の行列の散布図を生成できます。しかし、私がやりたいのは、2 つの散布図を同じプロットに入れ、各マトリックスの色が異なるようにすることです。最大 10 の行列に一般化できる方法を探しているので、理想的には、色の割り当ては自動である必要があります。

4

2 に答える 2

1

が行列のリストである場合matrices、これを行うことができます。

data<-do.call(rbind,matrices)
colors<-c(mapply(rep,1:length(matrices),sapply(matrices,nrow)),recursive=T)  
plot(data,col=colors)

一度に 1 つの行列をプロットすることもできますが、この場合、事前に範囲を把握する必要があり、これは少し面倒です。

xrange<-range(sapply(matrices,function(x)x[,1]))
yrange<-range(sapply(matrices,function(x)x[,2]))
plot(0,xlim=xrange,ylim=yrange,type="n")
for(i in 1:length(matrices))
  points(matrices[[i]],col=i)
于 2013-10-02T22:57:47.690 に答える