2015-11-24 3 views
0

Я начинаю с набора из 100 генов, которые чаще всего встречаются в определенном биологическом веществе, этот список называется «топ100». Используя MERGE, мне удается получить подсчеты для каждого из этих 100 белков из этого набора данных для каждого из образцов. Я хочу построить подсчеты для каждого отдельного белка, на образец.Как построить несколько столбцов по оси X в R?

Так что, в принципе, мне нужен сюжет, который показывает, например: белок: PKM и графики для каждого из образцов (N = 2 в этом случае), поэтому я хочу повторить этот процесс для всех 100 белков в отдельных участки.

  row.names Gene.Symbol  Normalised.count.(B)  Normalised.count.(A) 
    1   1   A2M    46.073855     280.736354 
    2   5   ACTN4   0.000000     10.436296 
    3   8   ALDOA   39.354751     61.574145 
    4   9   ANXA1   1.919744     1.043630 
    5   13   ANXA5   8.638848     0.000000 
    6   17   BSG    5.759232     1.043630 
    7   22   CD81   1.919744     2.087259 
    8   23   CD9    2.879616     4.174518 
    9   25   CFL1   5.759232     10.436296 
    10   26   CLIC1   1.919744     10.436296 

Это 1/10 от общего списка, поэтому для каждого символа гена хочу оба noramlised значения подсчета, где нанесены

X1 = символ гена у = normalised.count. (А)

X2 = символ гена y = нормализованный.count. (B)

Это то, что я получил до сих пор, чтобы отсортировать до окончательного списка.

library("openxlsx") 
library("dplyr") 
library("ggplot2") 
library('reshape2') 
library('gdata') 

protein_report <- read.xlsx(file.choose(), sheet=1) 
top100 <- read.xlsx(file.choose(), sheet=1) 

norm <- matchcols(protein_report,with = "Norm") 
top <- na.omit(merge(top100, protein_report[c("Gene.names",norm)], by.x="Gene.Symbol",by.y="Gene.names", all.x = T, all.y = F))  

Как построить эти значения?

ответ

1

Вы можете использовать tidyr и функции собираются первым перекроить данные в длинный формат, а затем построить его с ggplot

library(tidyr) 
library(ggplot2) 

plotData <- protein_report %>% gather(type,Normalised.count, 
             Normalised.count.A,Normalised.count.B) 

ggplot(plotData,aes(x=Gene.Symbol,y=Normalised.count,color=type) + 
     geom_line() ## For a line plot 
Смежные вопросы