使用plyr将因素添加到因子生成的图中

时间:2015-10-24 12:47:17

标签: r plyr

我想根据数据框中两个因素的组合生成单独的图。

我在大部分时间都使用了以下建议,其中建议使用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)

非常感谢

1 个答案:

答案 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)