複数のシリーズを持つデータフレームがあり、ggplot2 でそれらのいくつかだけをプロットしたいと思います。ggplot 2 でこれを簡単に行う方法を知っていますか?
tdat=structure(list(uL = c(6, 4, 2, 1, 0.5, 25, 20, 15, 6, 4, 2, 1,
0.5, 6, 4, 2, 1, 0.5, 25, 20, 15, 10, 25, 20, 15, 10, 5, 1),
Intensity = c(29355, 36034, 42571, 62325, 79505, 25190, 19721.5,
13144.5, 40385.5, 40507.5, 46156, 73707, 93496.75, 46940.75,
45588, 56215, 81908.5, 85508, 93243.5, 79260, 59858.5, 31522.5,
81629.4, 45928.5, 37694.5, 39466, 45914, 87105), sample = structure(c(3L,
3L, 3L, 3L, 3L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 2L, 2L, 2L,
2L, 2L, 6L, 6L, 6L, 6L, 5L, 5L, 5L, 5L, 5L, 5L), .Label = c("MCH Mild",
"PCAM MCH HIGH1", "PCAM MCH LOW-atp,E1E2,UbK48", "PCAM MCH LOW1",
"PCAM MCH LOW2", "RIPA MCH"), class = "factor")), .Names = c("uL",
"Intensity", "sample"), class = "data.frame", row.names = c(NA,
-28L))
head(tdat)
uL Intensity sample
1 6.0 29355 PCAM MCH LOW-atp,E1E2,UbK48
2 4.0 36034 PCAM MCH LOW-atp,E1E2,UbK48
3 2.0 42571 PCAM MCH LOW-atp,E1E2,UbK48
4 1.0 62325 PCAM MCH LOW-atp,E1E2,UbK48
5 0.5 79505 PCAM MCH LOW-atp,E1E2,UbK48
6 25.0 25190 MCH Mild
を使用してこれをプロットできます:
p <- ggplot(tdat, aes(uL, Intensity)) + geom_point(aes(colour = sample,shape=sample), size=5) + geom_smooth(level=0);p
しかし、私はそのように3つのシリーズだけをプロットしたいと思います:
tdat=tdat[grepl("(PCAM MCH LOW1|PCAM MCH LOW-atp,E1E2,UbK48|PCAM MCH HIGH1)",tdat$sample),]
p <- ggplot(tdat, aes(uL, Intensity)) + geom_point(aes(colour = sample,shape=sample), size=5) + geom_smooth(level=0);p
grepl() を使用せずにそれを行う簡単な方法はありますか?