如何使用多个muliple分类变量值进行过滤以在R中绘制图?

时间:2016-02-26 23:01:14

标签: r

假设我有这样的数据:

type      source   weight
cabbage   store    2.2
cabbage   farm     2.3
cabbage   farm     1.9
celery    store    2.1
celery    farm     2.0
celery    store    1.7
turnip    farm     1.5
turnip    store    2.5

1)如何制作卷心菜和芹菜的重量箱图?即单个箱图,其中数据来自列weight,但仅当列类型为“卷心菜”或“芹菜”时才会显示。

2)如何通过两个分类变量进行箱形图过滤?即单个箱图,其中数据来自列weight,但仅当列type为“卷心菜”或“芹菜”且列source为“农场”时才会生成。

1 个答案:

答案 0 :(得分:1)

只需向boxplot提供过滤后的数据,如下所示

df<-data.frame(type=c("cabbage","cabbage","cabbage","celery","celery","celery","turnip","turnip"), weight=c(2.2,2.3,1.9,2.1,2.0,1.7,1.5,2.5))
> df
     type weight
1 cabbage    2.2
2 cabbage    2.3
3 cabbage    1.9
4  celery    2.1
5  celery    2.0
6  celery    1.7
7  turnip    1.5
8  turnip    2.5
> boxplot(df$weight[df$type %in% c("cabbage","celery")])

这为type使用普通字符串,但它也适用于因素。

enter image description here