在熔化数据框中设置变量列

时间:2018-01-22 07:27:13

标签: r ggplot2 subset linechart

Data :

Cat <- c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4)

variable <- c("IL_1_Flag_p", "IL_1_Flag_p", "IL_1_Flag_p", "IL_1_Flag_p", "IL_2_Flag_p", "IL_2_Flag_p", "IL_2_Flag_p","IL_2_Flag_p", "IL_3_Flag_p", "IL_3_Flag_p", "IL_3_Flag_p", "IL_3_Flag_p", "IL_4_Flag_p", "IL_4_Flag_p", "IL_4_Flag_p", "IL_4_Flag_p", "IL_5_Flag_p", "IL_5_Flag_p", "IL_5_Flag_p", "IL_5_Flag_p")

value <- c(21,17,16,210,20,17,15,189,20,17,15,188,19,17,15,188,20,17,15,194)

agg_melt_p <- data.frame(cat, variable, value)

我想仅为&#34; IL5_Flag_p&#34;绘制折线图。它位于变量列中。使用来自subset包的plyr但是它无效并显示错误。我正在组合2个图表(条形图和此折线图)。原始数据使用meltreshape2的融合数据框

对于ggplot我正在使用这篇文章:

ggplot() + geom_line(data = agg_melt_p, aes(x=Category , y=value , colour=variable))

请帮忙

1 个答案:

答案 0 :(得分:1)

使用dplyr的一个解决方案:

agg_melt_p %>% filter(variable == "IL_5_Flag_p") %>%
ggplot() + 
geom_line(aes(x=Cat, y=value, colour = variable))

这可以按照您想要的方式对数据框进行子集化,而无需更改对象本身,然后将其传递给ggplot命令。您的代码中的colour=variable位不是必需的,但如果您想自动生成图例,则可以将其保留。

enter image description here