Boxplot的两个不同类型的向量

时间:2014-01-20 23:33:31

标签: r boxplot

所以我我有两个向量。第一个看起来像这样 -

     70       71       72       73       74       75       76       77 
2.997500 2.680833 3.000833 5.443333 2.652500 7.115833 5.109167 5.730000 
      78       79       80       81       82       83       84       85 
6.866667 4.562500 4.725000 2.747500 3.861667 4.980833 3.940833 4.792500 
      86       87       88       89       90 
6.679167 3.100833 2.915833 3.904167 4.465833 
[1] "double"

当我执行包含向量的变量的打印类型时,最后一个双来自哪里(我猜它必须是双精度的向量)。

我也使用这个功能 -

findLastRowVal = function(x){
    (tail(x[!is.na(x)],1))
}

使用apply函数查找数据框中一堆行的最后一个值 - 这些是值 -

     [1] "N" "Y" "Y" "Y" "Y" "N" "Y" "N" "Y" "N" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "N" "Y"
[20] "Y" "Y"

我想要一个箱形图,其中我有两个图表 - 一个用于Ys,一个用于Ns。如果第二个向量中相应索引中有一个Y,那么第一个向量中的所述值应该在Y的框图中绘制。

例如,2.99750对应N,应该是N的框图的一部分。

我如何实现这一目标?

所以我现在尝试了这个 -

x <- data.frame(a=1:10, c=rep(c('Y','N'), 5))
jpeg("myplot.jpg")
boxplot(a ~ c, data=x)
dev.off()

但是这给了我这个错误 -

null device 
      1 

我认为这是因为没有myplot.jpg(这对我来说很奇怪 - 为什么R只是创建一个?)我应该在哪里创建这个myplot.jpg?

1 个答案:

答案 0 :(得分:2)

将它们放在数据框中,并使用公式界面来制作boxplot:

x <- data.frame(a=1:10, c=rep(c('Y','N'), 5))
boxplot(a ~ c, data=x)

enter image description here