如何更改刻面图的标题?

时间:2015-08-26 23:17:48

标签: r ggplot2

我有这个4变量Pareto前端,我想要想象。这是数据集:https://www.dropbox.com/s/3onja9wtsow4rl9/filtered_pareto.csv?dl=0

> head(dat)
       modu robust      apl     fiedl
1 0.3701243     35 2.151837 0.2932508
2 0.3067103     29 2.071020 0.2928233
3 0.3244840     26 2.124898 0.2646455
4 0.3396247     35 2.008980 0.3270429
5 0.2890496     29 2.010612 0.3110269
6 0.3528308     34 2.051429 0.3007537

这是我用来绘制所有变量组合的代码:

library(ggplot2)

dat <- read.csv("filtered_pareto.csv", check.names = FALSE)

dat$modu = -dat$modu
dat$robust = -dat$robust

res <- do.call(rbind, combn(1:4, 2, function(ii)
    cbind(setNames(dat[,c(ii, setdiff(1:4, ii))], c("x", "y")),
                   var=paste(ii, collapse=".")), simplify=F))

ggplot(res, aes(x=x, y=y))+ geom_point(shape=4) + geom_smooth(method=lm) + 
  facet_wrap(~ var, scales="free")

转换后,数据如下所示:

> head(res)
          x  y       NA        NA var
1 0.3701243 35 2.151837 0.2932508 1.2
2 0.3067103 29 2.071020 0.2928233 1.2
3 0.3244840 26 2.124898 0.2646455 1.2
4 0.3396247 35 2.008980 0.3270429 1.2
5 0.2890496 29 2.010612 0.3110269 1.2
6 0.3528308 34 2.051429 0.3007537 1.2

它产生了这个:

enter image description here

在此可视化中,每个绘图都标有两个数字,对应于显示的变量。有没有办法使用变量的名称(CSV数据集的第一行)。例如:“Robust / Modu”而不是“1.2”或“APL / Modu”而不是“1.3”等?

谢谢!

1 个答案:

答案 0 :(得分:1)

res <- do.call(rbind, combn(1:4, 2, function(ii)
        cbind(setNames(dat[,c(ii, setdiff(1:4, ii))], c("x", "y")),
              var=paste(names(dat)[ii], collapse="/")), simplify=F))