Я попытаюсь сделать это, как бы ужасно это ни было:
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, которые я затемсреднее значение по всему, и преобразовать обратно в шестнадцатеричную строку.Я не уверен, соответствует ли это вашей " функции для усреднения этих цветов без преобразования ее в rgb ".