如何改变ggnetwork中geom_node的颜色?

How to change the color of geom_node in ggnetwork?

我正在尝试进行疾病模拟,我希望受感染的节点 (is_infected>0) 为红色,未受感染的 (is_infected=0) 节点颜色为青色.

                results <- results %>% mutate(
                        S = infected == 0,
                        E = 0 < infected & infected < 6,
                        I = infected >= 6 & infected <= 11,
                        R = infected > 11,
                        is_infected = infected > 0
                )
                
                net.layout.by.time <-
                        split(results, f = results$t%in% c(5, 7, 16, 40, 80)) %>%
                        lapply(FUN = right_join,
                               y = net.layout,
                               by = "id") %>%
                        bind_rows
                
                net.layout.by.time <- split(results, f = results$t) %>%
                        lapply(FUN = right_join, y = net.layout, by = "id") %>% 
                        bind_rows
                
                net.layout.by.time %>% 
                        filter(t %in% c(5, 6, 7, 20, 40)) %>%
                        ggplot(aes(xend = xend, yend = yend, x = x, y = y)) + 
                        geom_edges(color = "lightgray") +
                        geom_nodes(aes(color = is_infected)) + 
                        facet_wrap(~ t) + 
                        theme_blank()

我的代码产生完全相反的结果。 我该如何更改?

这可能很有用,但在缺少共享数据时未经测试:

library(ggplot2)
#Code
net.layout.by.time %>% 
                        filter(t %in% c(5, 6, 7, 20, 40)) %>%
                        ggplot(aes(xend = xend, yend = yend, x = x, y = y)) + 
                        geom_edges(color = "lightgray") +
                        geom_nodes(aes(color = is_infected)) + 
                        facet_wrap(~ t) + 
                        theme_blank()+scale_color_manual(values=c("blue","red"))