如何在循环中的一列中基于相等的值创建qqplot?

时间:2016-12-10 11:10:43

标签: r loops ggplot2

我想使用以下data.frame为几个堆叠的qqplots创建代码。每个图应该引用一个特定的净值,看起来应该或多或少 this. (原始data.frame包含每个网络号的20个卷类(VCL),此处显示的只是Net 1的值)。

应该可以将代码应用于具有不同数量网络的其他data.frames。

   > f.perr.p
    VCl simtype Net         perr
1    V1       F   1 2.413043e-03
3    V1       F   3 1.000000e-03
5    V1       F   5 2.173913e-04
14   V2       F   1 2.673913e-03
16   V2       F   3 1.130435e-03
18   V2       F   5 3.043478e-04
...
261  V1      nF   1 4.195652e-03
263  V1      nF   3 4.152174e-03
265  V1      nF   5 3.760870e-03
274  V2      nF   1 4.260870e-03
276  V2      nF   3 4.304348e-03
278  V2      nF   5 4.021739e-03
...

所以,我的方法是创建一个for循环,告诉R创建一个绘图,其中的数据在列#34; Nets"中相同,然后对下一个网络数字执行相同的操作直到我在这个特殊情况下,有3个图表的堆积图,指的是Net 1,Net 2和Net 3。 我从这开始,但我不知道如何继续:

x<-which(f.perr.p$VCl == "V1" & f.perr.p$simtype == "F") # to identify how many plots should be created

> x
[1] 1 2 3 

# VCl = x-axis,
# simtype = colorfill, 
# Net= plot.nr, 
# perr=y-axis

op<-par(mfrow=c(length(x),1))
for(i in 1:length(x){
ggplot(f.perr.p, aes(factor(VCl), perr, fill = simtype)) + 
  geom_bar(stat="identity", position = "dodge", colour="black")
})
par(op)

我知道这段代码根本无法工作,但我无法弄清楚如何清楚地表明每次循环运行时只应考虑具有特定网络号的行。 我需要包括哪些内容?

我希望我能以清晰的方式表达我的问题。非常感谢您的帮助,谢谢您的时间!

0 个答案:

没有答案