有没有一个函数可以计算R中n个十六进制颜色的平均值?

有没有一个函数可以计算R中n个十六进制颜色的平均值?,r,colors,hex,rgb,R,Colors,Hex,Rgb,我有一个df,样本作为行。每个都有三个十六进制格式的不同颜色的变量。 有没有一个函数可以在不转换为rgb的情况下平均这些颜色 id x y z 1 0 #EE30A7 #EE30A7 #3D3D3D 2 1 #ED31A5 #EC30A5 #3D3E3C 3 2 #EC33A4 #EA30A4 #3E3F3C 4 3 #EB34A3 #E830A3 #3F413C 5 4 #EA36A2 #E630A2 #40423C 6 5 #

我有一个df,样本作为行。每个都有三个十六进制格式的不同颜色的变量。 有没有一个函数可以在不转换为rgb的情况下平均这些颜色

   id       x       y       z
1   0 #EE30A7 #EE30A7 #3D3D3D
2   1 #ED31A5 #EC30A5 #3D3E3C
3   2 #EC33A4 #EA30A4 #3E3F3C
4   3 #EB34A3 #E830A3 #3F413C
5   4 #EA36A2 #E630A2 #40423C
6   5 #E937A1 #E530A1 #41443C
7   6 #E8399F #E330A0 #42453C
8   7 #E83A9E #E1309F #43473C
9   8 #E73C9D #DF319E #44483C
10  9 #E63E9C #DE319D #45493C

对于这个df,我想添加另一个平均颜色的颜色

我会尝试一下,尽管可能很难看:

rgb(t(Reduce(`+`, lapply(dat[c("x","y","z")], col2rgb))/3), maxColorValue=255)
# [1] "#B33483" "#B23582" "#B13681" "#B03780" "#B03880" "#AF397F" "#AF3A7E" "#AE3B7D" "#AE3C7D"
#[10] "#AD3D7C"

本质上,我使用
col2rgb
创建一组r/g/b矩阵,然后对其进行平均,并将其转换回十六进制字符串。不过,我不确定这是否符合您的“a函数在不将其转换为rgb的情况下平均这些颜色”要求。

能否显示前几个预期平均值?相关-