2016-06-21 53 views
0

我有四列的R數據幀:如何生產中的R GGPLOT2分面積與分開的部分

  • 樣品
  • 的miRNA
  • X
  • ý

我想用ggplot2產生由miRNA所刻劃的x和y的相關圖。我還希望根據相關方向將地塊分成兩部分,以便所有顯示正相關的地塊位於頂部,所有顯示負相關的地塊位於底部。

使用facet_wrap我找不到插入這種突破的方法,至少不能以通常應用於不同數量的miRNA的方式 - 例如,如果有2個miRNA呈正相關,7個呈負相關,那麼它將繪製一個3 x 3的網格,其中第一行包含正負圖的混合,而在這種情況下我想要的是第二行, miRNA和後續行中的7種負性miRNA,必要時留有空位,以便所有的小區具有相同的大小。

我以爲使用facet_grid可能工作。我在數據框中添加了一個名爲'sign'的數據框,這個數據框中含有'Negative'和'Positive'的水平,然後用plot + facet_grid(sign~miRNA),但這並不奏效 - 所有負相關的miRNA都顯示爲正面部分,反之亦然。

道歉,缺乏圖像,我在這裏是新的,所以無法發佈它們。

+0

最好的辦法是告訴'facet_wrap'使用'nrow = 2'並讓miRNA按相關性排序 –

+3

您可以添加一個示例數據集和迄今爲止使用的代碼,這樣您的示例[可重現] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – aosmith

回答

0

到這裏看看: http://docs.ggplot2.org/0.9.3.1/facet_wrap.html

# To change plot order of facet wrap, 
# change the order of varible levels with factor() 
diamonds$color <- factor(diamonds$color, levels = c("G", "J", "D", "E", "I", "F", "H")) 
# Repeat first example with new order 
d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) + 
xlim(0, 2) + stat_binhex(na.rm = TRUE) + theme(aspect.ratio = 1) 
d + facet_wrap(~ color) 

你應該能夠計算出相關爲了您的每個組的相關性,然後將miRNA的因子水平。 facet_wrap應該可以工作。