基于另一个预定义矢量为矢量中的每个唯一因子创建新的颜色矢量。

时间:2018-03-15 03:46:57

标签: r

道歉,因为我不知道该怎么说这个问题。假设有两个向量

v <- c("a","a","a","a",'b','b')
color <- c("red","yellow")

没有手动为每个独特元素指定颜色

final.color <- c("red","red","red","red","red","yellow","yellow")

如何自动创建此向量?

感谢。

1 个答案:

答案 0 :(得分:0)

首先,我们在v中找到唯一元素的数量,然后使用rep重新创建final.color

v <- c("a","a","a","a",'b','b')
color <- c("red","yellow")

final.color <- c("red","red","red","red","yellow","yellow")

# find number of unique elements in a vector
n_unique <- c(table(v))

# create color from n_unique
tmp <- c(rep(color[1], n_unique[1]), rep(color[2], n_unique[2]))
tmp
#> [1] "red"    "red"    "red"    "red"    "yellow" "yellow"

identical(final.color, tmp)
#> [1] TRUE

reprex package(v0.2.0)创建于2018-03-14。