2017-09-24 68 views
3

我有一个看起来像这样如何在R中为2x2x2设计创建ggplot 2意粉图?

climate <- c("Dry","Wet","Dry","Wet","Dry","Wet","Dry","Wet") 
place <- c("Urban", "Urban","Urban","Urban","Rural","Rural","Rural","Rural") 
control <- c(4,5,1,0,0,5,6,7) 
treatment <- c(1,2,3,0,1,9,9,1) 
dat01 <- data.frame(climate, place, control, treatment) 

我想在一个帧创建2个不同的意大利面的地块,这样,它是由地方分类数据,但无论是气候区域存在于同一地块(不同颜色)

这是我尝试

library(ggvis) 
library(gridExtra) 
library(reshape) 
library(ggplot2) 

dat01 <- melt(dat01, id = c("climate","place")) 

mytheme <- theme_classic() %+replace% 
    theme(axis.title.x = element_blank(), 
      axis.title.y = element_text(face = "bold", angle = 90)) 

ggplot(data = dat01, aes(x = variable, y = value, group = place, colour = climate)) + 
    mytheme + 
    labs(list(x = paste("Plots"), y = paste("Number of Seedlings"))) + 
    geom_line(size = 1) 

这将产生一个输出,但情节似乎并不清楚加入控制相应的处理。几种控制和治疗似乎彼此连接。

此外,我无法根据需要生成两个不同的地块。

此外,如果有一个简单的方法分别为每个图添加标题,那将是非常棒的。

+0

这不是真正的问题的一个有用的描述:“收到的信息似乎乱码”究竟以什么方式?什么是输出? – Brick

+1

我已经做了必要的修改。感谢您的意见 – PythonDabble

回答

3

我想这是你想要的东西:

library(reshape) 
library(ggplot2) 

climate <- c("Dry","Wet","Dry","Wet","Dry","Wet","Dry","Wet") 
place <- c("Urban", "Urban","Urban","Urban","Rural","Rural","Rural","Rural") 
control <- c(4,5,1,0,0,5,6,7) 
treatment <- c(1,2,3,0,1,9,9,1) 
pair_id <- 1:8 
dat01 <- data.frame(climate, place, control, treatment, pair_id) 

dat01 <- melt(dat01, id = c("climate","place", "pair_id")) 


ggplot(data = dat01, aes(x = variable, y = value, group = pair_id, colour = climate)) + 
    facet_wrap(~place)+ 
    labs(list(x = paste("Plots"), y = paste("Number of Seedlings"))) + 
    geom_line(size = 1) + theme_bw() 

enter image description here