2016-03-07 54 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,你的回答非常有幫助! –