2016-07-21 24 views
0

Plot of Reads vs Gelscores Mean #Reads für jede Permutation von GelScore?Den Mittelwert eines Wertes basierend auf mehreren Variablen finden

Ich arbeite in einem Genetiklabor an meiner Universität und mache derzeit Datenanalysen in unserem Computerlabor. Nach der PCR haben wir unsere Gele nach Band, Smear, Primer Dimer und Non Specific Product bewertet. Diese Variablen enthielten nur Werte von 0,1 oder 2. Ich versuche die mittlere Anzahl von Reads (Sequenzierungsergebnissen) zu finden, die für jede Kombination der 4 Gel-Scores zurückgegeben wurden. Jede Variable hat im Datenblatt eine eigene Spalte.

Datenblatt: Vial ID, Band, Smear, Primer.Dimer, Non.Spec, Liest

Ex. Mittlere Anzahl der Lesevorgänge für Gele mit Band = 0, Smear = 0, PrimerDimer = 0 NonSpec = 0.

Ex. Mittlere Anzahl der Lesevorgänge für Gele mit Band = 0, Smear = 1, PrimerDimer = 1 NonSpec = 2.

Etc.

Irgendwelche Vorschläge wäre sehr dankbar, Danke

ich diese Daten dargestellt werden können, die generische Plot-Funktion. Obwohl die mittleren Balken angezeigt werden, kann ich ihre Werte nicht ermitteln.

"plot (Liest ~ as.factor (Datenblatt $ Band + (Primer.Dimer * 10) + (Smear * 100) + (Non.Specific.Product * 1000))"

Antwort

0

Sie können dies mit die dplyr und tidyr Pakete:

library(dplyr) 
    library(tidyr) 

    set.seed(14592) 

    df <- data.frame(
     vial_id  = 1:10, 
     band   = sample(0:2, 10, replace = TRUE), 
     smear  = sample(0:2, 10, replace = TRUE), 
     primer_dimer = sample(0:2, 10, replace = TRUE), 
     non_spec  = sample(0:2, 10, replace = TRUE), 
     reads  = rnorm(10) 
    ) 

    df %>% 
     unite(group_id, band:non_spec, remove = FALSE) %>% 
     group_by(group_id) %>% 
     summarize(group_mean = mean(reads)) 

Diese unite Funktion des tidyr verwendet eine eindeutige Gruppen-ID für jede Kombination von Gel-Scores erstellen verwendet dann dplyr der group_by und summarize Funktionen den Mittelwert für jede Gruppe zu lesen finden

.