熔化数据框中的子设置变量列

Sub-setting variable column in melt data frame

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)

我只想使用 plyr 包中的 subset 为变量 column.Tried 中的 "IL5_Flag_p" 绘制折线图,​​但它不起作用并显示错误。我正在合并 2 个图(一个条形图和这个折线图)。原始数据使用来自 melt in reshape2

的融化数据框

对于 ggplot 我正在使用这个片段:

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

请帮忙

一个解决方案使用dplyr

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

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