2017-09-28 79 views
1

我有這樣(來自DNA測序)數據:劇情可變總和

read.lengths = c(100, 100, 200, 250, 300, 400, 400, 500, 500) 

每個長度僅僅是一個數字的在讀取DNA鹼基。給定任意數量的分箱,繪製讀取長度與計數的直方圖非常簡單。

ggplot(data.frame(read.lengths)) + geom_histogram(aes(x = read.lengths)) 

但我想要做的是把基地的總數,而不是讀取的計數。即對於直方圖中的每個分箱,我想要Y軸上該分箱中所有讀取長度的總和。

+1

不是很清楚,你是否想把yaxis max設置爲500(因爲你的閱讀時間最長爲500)?你能展示示例圖,手繪圖還是網頁鏈接? – zx8754

+0

畫出你想要的。用油漆什麼的。 –

回答

2

試試這個。

library(ggplot2) 
library(dplyr) 
read.lengths <- c(100, 100, 200, 250, 300, 400, 400, 500, 500) 
read.lengths.cat <- as.factor(read.lengths) 

read.lengths.data <- data.frame(read.lengths.cat, read.lengths) 

read.lengths.data <- aggregate(read.lengths ~ read.lengths.cat, 
      data = read.lengths.data, sum) 

ggplot(aes(x = read.lengths.cat, y = read.lengths), 
     data = read.lengths.data) + 
    geom_bar(stat = "identity") 
0

由於this answer這讓我看到它在正確的方式,我嘗試了一些ggplot魔法,它似乎很好地工作。

ggplot(data.frame(read.lengths)) + geom_histogram(aes(x = read.lengths, y = (..count..*x))