2015-07-06 3 views
0

У меня есть измерения приблизительно 1000 переменных в 2 группах с 10 репликациями в каждом, другими словами, у меня есть 2 кадра данных с 10 столбцами и 1000 строк в каждом.Распределение распределения нескольких измерений в двух разных группах по R

Я хотел бы показать распределение моих измерений в двух разных группах, чтобы выбрать переменные, которые значительно отличаются между группами. Моя первоначальная идея состояла в том, чтобы сделать большой график рассеяния, где x-координата будет итерацией переменных, а координата y будет измерением, а точки могут быть закодированы цветом. Однако это не работает должным образом, я получаю вместо этого матрицу графика рассеяния.

Я попытался пойти с boxplot,

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

Там нет групп в данных, так что я не знаю, что делать с этим. Может быть, вы могли бы фасетом по группе. Тем не менее, я не думаю, что такой сюжет был бы очень полезен для вашей цели «выбрать переменные, которые значительно отличаются между группами». Я бы сделал тест гипотезы с соответствующей коррекцией для инфляции с альфа-ошибкой.

Смежные вопросы