library(ggplot2)
volcano_data <- as.data.frame(res)
volcano_data$sig <- ifelse(volcano_data$padj < 0.05 & abs(volcano_data$log2FoldChange) >= 1, "Significant", "Non-significant")
ggplot(volcano_data, aes(x = log2FoldChange, y = -log10(padj), color = sig)) +
geom_point(alpha = 0.6, size = 2) +
scale_color_manual(values = c("Non-significant" = "gray", "Significant" = "red")) +
labs(x = "Log2(Fold Change)", y = "-Log10(FDR)", title = "Volcano Plot") +
theme_bw()