2015-07-06 64 views
0

我有兩組1000個變量的測量結果,每組10個重複,換句話說,我有2個數據框,每列有10列和1000行。繪製R中兩個不同組的多個測量值的分佈

我想在兩個不同的組中顯示我的測量結果的分佈,以找出組間顯着不同的變量。我最初的想法是做一個大的散點圖,其中x座標是變量的迭代,y座標是測量,點可以用顏色編碼。它不像預期的那樣工作,但是,我得到了散點圖矩陣。

我試圖去同一個箱線圖,

ratios1 <- as.data.frame(matrix(rnorm(10000) * 100, 1000, 10)) 
boxplot(t(log2(ratios1)), horizontal = T) 

哪種類型的作品,但對於所有箱子線使得情節不可破譯的,甚至單個組(見下圖)。然後我試圖刪除的框,之後添加點作爲suggested here

boxplot(t(log2(ratios1)), horizontal = T, border = "white") 
points(t(log2(ratios1)), pch=1) 

但是,這並不太無論是工作,因爲我只有在圖形上繪製的第一個變量。

如何顯示此類信息?所有的

vertical boxplot

回答

0

首先,列對應的變量和行的意見,而不是周圍的其他方式。

set.seed(42) 
ratios1 <- as.data.frame(matrix(rnorm(10000) * 100, 10, 1000)) 

你可以繪製位數是這樣的:

library(reshape2) 
ratios2 <- melt(ratios1) 
library(ggplot2) 
ggplot(ratios2, aes(x = as.numeric(variable), y = value)) + 
    stat_summary(fun.data = function(y) as.data.frame(setNames(as.list(quantile(y, probs = c(0.025, 0.5, 0.975))), c("ymin", "y", "ymax"))), 
       color = "blue") + 
    stat_summary(fun.data = function(y) as.data.frame(setNames(as.list(quantile(y, probs = c(0.25, 0.5, 0.75))), c("ymin", "y", "ymax"))), 
       color = "red") + 
    xlab("variable") 

resulting plot

有在數據沒有組,所以我不知道如何處理這一點。也許你可以分組。但是,我不認爲這種情節對於「挑選各組間顯着不同的變量」的目標是非常有用的。我會做一個假設檢驗,對α錯誤通貨膨脹進行適當的修正。