R-更改Legend输入顺序和Scale_color_manual中的传奇标题



我有以下数据集

set.seed(10)
start_date <- as.Date('2000-01-01')  
end_date <- as.Date('2000-01-10')   
Data <- data.frame(id = rep((1:1000),10), 
  group = rep(c("0","1"), 25),
  IV = sample(1:100),
  DV = sample(c("1", "0"), 10, replace = TRUE),
  date = as.Date(
       sample(as.numeric(start_date):
              as.numeric(end_date), 1000,
              replace = T), origin = '2000-01-01'))

与此创建以下图:

Data %>% mutate(group = factor(group), date = as.POSIXct(date)) %>% 
  group_by(group, date) %>% #group
  summarise(prop = sum(DV=="1")/n()) %>% #calculate proportion 
  ggplot()+ theme_classic() + 
  geom_line(aes(x = date, y = prop, color = group)) +
  geom_point(aes(x = date, y = prop, color = group)) +
  geom_smooth(aes(x = date, y = prop, color = group), se = F, method = 'loess') +
  scale_color_manual(values = c('0' = 'black', '1' = 'darkgrey'),
                     labels = c('0' = 'Remaining sample', '1' = 'Group 1'))

一切正常,但我现在正在尝试更改传奇条目的顺序(因此,"第1组"是先到第一个,然后是"剩余的示例"(和标题("传奇"(,并且无法弄清楚如何。

在下面的第一行中创建突变时,只需重新排序因子组的级别以更改传说中的顺序,然后将name参数添加到最后一行的scale_colour_manual中更改传奇的标题

Data %>% mutate(group = factor(group, levels = c('1', '0')), date = as.POSIXct(date)) %>% 
     group_by(group, date) %>% #group
     summarise(prop = sum(DV=="1")/n()) %>% #calculate proportion 
     ggplot()+ theme_classic() + 
     geom_line(aes(x = date, y = prop, color = group)) +
     geom_point(aes(x = date, y = prop, color = group)) +
     geom_smooth(aes(x = date, y = prop, color = group), se = F, method = 'loess') +
     scale_color_manual(values = c('0' = 'black', '1' = 'darkgrey'),
                   labels = c('0' = 'Remaining sample', '1' = 'Group 1'), name = "Legend")

其他选项是用 guides(colour = guide_legend(reverse = TRUE))

修改图例
  ggplot()+ theme_classic() + 
 ...
  guides(colour = guide_legend(reverse = TRUE))

最新更新