0

我知道这会很简单,但我无法解决或通过搜索找到解决方案。

我有一个整数矩阵,其整数值来自1:n(通过将一些因子转换为索引创建)。我想将这些值与n颜色向量相匹配,以十六进制字符串值(使用scales包生成)给出。

Y <- sample(1:7, 20, replace=TRUE)  # for example
classcols <- c("#F8766D", "#C49A00", "#53B400", "#00C094", "#00B6EB", "#A58AFF", 
"#FB61D7")
# manually replace:
Y[Y==1] <- classcols[1]

我的吸收有点慢,除了如上所述手动之外,我无法弄清楚如何做到这一点。原因可能表明我有多愚蠢:

plot(X, col=Y)  # X has same shape as Y. I want to control the colours a bit more.
4

1 回答 1

1

听起来好像您只是想这样做:

classcols[Y]
#  [1] "#C49A00" "#53B400" "#00B6EB" "#FB61D7" "#C49A00" "#FB61D7" "#FB61D7" "#00B6EB"
#  [9] "#00B6EB" "#F8766D" "#C49A00" "#C49A00" "#00B6EB" "#53B400" "#A58AFF" "#00C094"
# [17] "#A58AFF" "#FB61D7" "#53B400" "#A58AFF"

在这里,我刚刚使用“Y”的值来索引“classcols”中的值。当然,您可以根据需要将输出重新分配给另一个向量以供使用。

于 2013-10-28T06:21:00.953 回答