1

v1 などの 4 つのレベルを持つ文字ベクトルがあります。レベルのケースは、ベクトル v1 内でランダムに分布しています。

set.seed(10)

v1<-sample((rep(c("book","Dog","sun","shell"),c(12,30,18,40))))

v2 などの 2 番目の文字ベクトルには、次の 4 つの色が含まれます。

v2<-palette(rainbow(4))

v1 の各レベルのケースを v2 の特定の色で色付けしたい場合、R で for ループを使用してそれを実現する方法を考えています。

動作しない私のコードは次のとおりです。

col.dots<-v1
for(i in 1:length(unique(v1))){
  for(y in 1: length(v2)){
    col.dots[col.dots==unique(v1)[i]]<-v2[y]
  }
}

返された col.dots ベクトルには「赤」の色のみが含まれています...

なにか提案を?

4

1 に答える 1