我想根据数据框中两个因素的组合生成单独的图。
我在大部分时间都使用了以下建议,其中建议使用plyr
是最好的方法。
How subset a data frame by a factor and repeat a plot for each subset?
与上面给出的示例不同,我需要使用base R
(特别是matplot
)生成绘图。
我希望为每个情节添加适当的标题(例如特定的“样本,阶段”),以便识别它们。我不能为我的生活弄清楚我怎么能做到最好。有什么帮助吗?
下面给出了一个简化的例子
# simplified dataframe
dat <- data.frame(sample = c("A", "A", "A", "B", "B", "B", "B", "C", "C"),
phase = c("W", "X", "X", "W", "X", "Z", "Z", "X", "X"),
La = c(0.01, 0.015, 0.2, 0.35, 0.6, 0.02, 0.5, 0.1, 0.15),
Lu = c(0.85, 0.95, 0.7, 0.55, 0.9, 0.75, 0.55, 0.9, 0.65))
# define the function which generates the plots
ree_plot <- function(z) {
plot(z)
}
# use plyr to split dataframe and generate plots according to sample and name combinations
plyr::dlply(.data = dat[,3:4], .variables = .(dat$sample, dat$phase), .fun = ree_plot)
非常感谢
答案 0 :(得分:0)
你可以尝试
ree_plot <- function(z)
plot(z[, 3:4], main = paste0(unlist(z[1, 1:2]), collapse=","))
library(plyr)
dlply(.data = dat, .variables = .(dat$sample, dat$phase), .fun = ree_plot)