为多个图插入不同的垂直线

时间:2014-06-11 13:42:01

标签: r loops lines

我的数据框看起来像这样

var1  var2  var3 var4 var5 var6 ..... var57
1     23    67   89   63   34   .....  90
2     34    43   43   23   23   .....  32
3     45    65   45   32   54   .....  43
4     45    32   18   61   87   .....  39

5     23    74   53   54   76   .....  54
6     21    65   34   34   12   .....  97
.     .      .    .    .    .   .....  .  
.     .      .    .    .    .   .....  .  
.     .      .    .    .    .   .....  .   
365    54     78   54  12    90  .....  53 

我使用以下脚本生成var1的图作为我对所有变量的自变量(var2~var1; var3~var1; var4~var1; var5~var1 .... var365~var 1)(Senor的Courtsey) O):

pdf("Plots.pdf")
for(i in 2:ncol(df)) plot(df[,1], df[,i])
dev.off()

我的问题是我想为每个绘图插入一个垂直线,使用abline函数,其位置对于所有绘图都是不同的。例如,对于var2~var1,垂直线应为147,var 2~var 1,垂直线应为152 ....... var365~var1,垂直线应为160。 有什么方法可以在之前的脚本中自动执行此操作吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

offsets = c(147, 152, ...)
pdf("Plots.pdf")
for(i in 2:ncol(df)) {
  plot(df[,1], df[,i])
  abline(v=offsets[[i - 1]])
}
dev.off()