2016-03-07 66 views
0

我有一个数据帧与一个quantitatitve变量和两个分类变量与几个因素每个。当我用这些制作盒形图时,我会得到一个图表,其中这些缺失值因素的组合显示为空。所以,我想在图中放置这些空白的空间。删除因子组合在r boxplot

我使用这些公式:

boxplot(anova_propagacion$crecimiento ~ localidad*transgen, las=2) 

而这些是我的数据:

crecimiento transgen localidad 
1   19  N YUCATAN 
2   5  N YUCATAN 
3   17  N YUCATAN 
4   10  N YUCATAN 
5   10  N YUCATAN 
6   1  N YUCATAN 
7   19  N NAYARIT 
8   4  N NAYARIT 
9   7  N NAYARIT 
10   12  N NAYARIT 
11   2  N PACIFICO 
12   13  N NAYARIT 
13   19  N NAYARIT 
14   3  N  BCS 
15   2  N  BCS 
16   5  N  BCS 
17   2  N  BCS 
18   2  N  BCS 
19   3  N  BCS 
20   18  N PACIFICO 
21   2  N PACIFICO 
22   3  N PACIFICO 
23   17  N PACIFICO 
24   6  N VERACRUZ 
25   3  N VERACRUZ 
26   3  N VERACRUZ 
27   10  N VERACRUZ 
28   3  N  BCS 
29   8  N  BCS 
30   4  N  OAXACA 
31   6  N  OAXACA 
32   3  N  BCS 
33   NaN  N SINALOA 
34   NaN  N TAMAULIPAS 
35   5  N  OAXACA 
36   17  Y  OAXACA 
37   18  Y  OAXACA 
38   3  Y TAMAULIPAS 
39   6  Y TAMAULIPAS 
40   19  Y NAYARIT 
41   19  Y SINALOA 
42   4  Y PACIFICO 
43   13  Y PACIFICO 
44   3  Y PACIFICO 
45   19  Y PACIFICO 
46   19  Y PACIFICO 
47   19  Y PACIFICO 
48   17  Y VERACRUZ 
49   2  Y  BCS 
50   18  Y  BCS 
51   19  Y  BCS 
52   NaN  Y YUCATAN 

,我得到这个图:

enter image description here

,能不能请您帮助我删除空的空间?

非常感谢。

+0

看看下面的SO页面[子集数据框中的下降因子水平](http://stackoverflow.com/questions/1195826/drop-factor-levels-in-a-subsetted-data -frame) – steveb

+0

检查'droplevels()' – fhlgood

回答

1

下面给出了一个情节,其中的差距被省略:

boxplot(crecimiento ~ interaction(localidad, transgen, drop = TRUE), 
     data = na.omit(anova_propagacion), las=2) 

enter image description here

两个主要的变化相比,你的代码是:

  • 要计算的交互项在公式中我使用interaction(localidad, transgen, drop = TRUE)。设置drop = TRUE意味着实际上不会出现在数据中的组合被省略。

  • 这是不够的,因为某些组合出现在数据,但crecimento值为NaN(例如,SINALOA.N)。因此,它们不会被丢弃,但仍然没有任何可被绘制的东西。这是通过删除与na.omit()这些行解决。

+0

非常感谢你Stibu:D,你的回答非常有帮助! –