我从来没有能够找到一个好办法来做到这一点。我正在尝试创建一个用于将RColorBrewer颜色映射到data_frame中的变量级别的用户函数。我在igraph中绘制节点颜色,它需要一个颜色矢量。在发生错误之前,我已经做到了这一步。坚持使用dpylr的mutate/summarize将颜色映射到可变级别
library(tidyverse)
library(RColorBrewer)
my_data <- data_frame(
x = sample(c('red','white','foo'),25,T)
)
my_data %>%
group_by(x) %>%
mutate(Blues = brewer.pal(n_distinct(x),'Spectral')) ## this doesn't work
我想要一个工作函数。类似以下内容:
function(df,vary){
df %>%
group_by(vary) %>%
mutate(Blues = brewer.pal(n_distinct(vary),'Spectral')) %>%
select(Blues)
}
感谢您的帮助!
多少种颜色,你从结果期望?三种颜色的长度25? – Psidom
@Psidom,我想要一列有三种颜色。一个匹配/对应于x中的每个级别。 – elliot