2013-08-05 8 views
5

Hallo bin ich mit einer Matrix der Genexpression, frag counts, um differentiell exprimierte Gene zu berechnen. Ich würde gerne wissen, wie man die Zeilen entfernt, die Werte von 0 haben. Dann wird mein Datensatz kompakt sein, und es werden weniger unechte Ergebnisse für die nachfolgende Analyse erhalten, die ich mit dieser Matrix mache.So entfernen Sie Zeilen mit 0 Werten mit R

Eingang

gene ZPT.1 ZPT.0 ZPT.2 ZPT.3 PDGT.1 PDGT.0 
XLOC_000001 3516 626 1277 770 4309 9030 
XLOC_000002 342 82 185 72 835 1095 
XLOC_000003 2000 361 867 438 454 687 
XLOC_000004 143 30 67 37 90 236 
XLOC_000005 0 0 0 0 0 0 
XLOC_000006 0 0 0 0 0 0 
XLOC_000007 0 0 0 0 1 3 
XLOC_000008 0 0 0 0 0 0 
XLOC_000009 0 0 0 0 0 0 
XLOC_000010 7 1 5 3 0 1 
XLOC_000011 63 10 19 15 92 228 

Wunsch Ausgang

gene ZPT.1 ZPT.0 ZPT.2 ZPT.3 PDGT.1 PDGT.0 
XLOC_000001 3516 626 1277 770 4309 9030 
XLOC_000002 342 82 185 72 835 1095 
XLOC_000003 2000 361 867 438 454 687 
XLOC_000004 143 30 67 37 90 236 
XLOC_000007 0 0 0 0 1 3 
XLOC_000010 7 1 5 3 0 1 
XLOC_000011 63 10 19 15 92 228 

Ab jetzt nur möchte ich diese Zeilen entfernen, wo die alle Splitteranzahl Spalten 0 sind, wenn in jeder Reihe sind einige Werte 0 und andere sind Ich möchte diese Zeile intakt behalten, wie Sie oben in meinem Beispiel sehen können.

Bitte lassen Sie mich wissen, wie dies zu tun ist.

+11

'df [rowSums (df [-1])> 0]' – Arun

+1

@Arun eine kleine nit: die OP nicht fest, ob er eine Reihe von ganzen Zahlen oder Schwimmern bekommt ist, so vorsichtig sein, Vielleicht möchten Sie überprüfen, dass 'rowSums' größer als 1e-10 oder so ist. –

+0

@CarlWitthoft, ich denke, der Bioinformatiker Reflux trat in. Dies sind gelesene Zahlen aus Genexpressionsdaten. Sie sind diskrete Zählungen und daher wahrscheinlich ganze Zahlen (> = 0). – Arun

Antwort

12
df[apply(df[,-1], 1, function(x) !all(x==0)),] 
+0

können Sie bitte erarbeiten, wie ich es konvertieren werde nicht in der Lage, den Befehl zu verstehen, den Sie geschrieben haben, Entschuldigung für meine begrenzten Kenntnisse in R –

+0

df ist Ihr Datenrahmen. Der Rest bleibt der gleiche – bartektartanus

+0

Sollte funktionieren, aber Aruns Lösung in seinem Kommentar ist viel sauberer. –

Verwandte Themen