2016-08-08 7 views
-3

Ich habe eine Liste basierend auf einer Bedingung ausgefüllt usign diese R script und ich generierte eine Übersichtstabelle, aber leider stieß ich auf ein Problem mit der Tabelle. Hier ist esWie kann ich eine Spalte basierend auf Abfrage-ID in R zusammenfassen?

  id        Alyr  Crub   Lala 
TCONS_00002401.gene=XLOC_001343_TBH_1 Ortholog Not found Not found 
TCONS_00002401.gene=XLOC_001343_TBH_1 Not found Not found Not found 
TCONS_00002401.gene=XLOC_001343_TBH_1 Not found Ortholog Not found 

Wie Sie sehen können, gibt es drei Zeilen und 4 Spalten. Was ich erwartet habe, ist eine einzige Idee für alle drei Arten (Alyr, Crub und Lala) zu bekommen, aber leider gibt es drei Reihen. Wie kann ich diese in so etwas zusammenfassen?

   id       Alyr  Crub  Lala 
TCONS_00002401.gene=XLOC_001343_TBH_1 Ortholog Ortholog Not found 
+0

Erstens ersetzen '' mit 'NA'„Nicht gefunden“auch dort, wo das ist. '" Ortholog "' in 'Lala' kommt von? – alistaire

+0

Ihre gewünschte Ausgabe ist nicht klar. Beachten Sie, wie diese beiden Ergebnisse" gleich aussehen ", aber unterschiedliche Strukturen" unlist (df [1,]) "und" df [1 ,] ' –

+0

Sorry .. ich machte eine Fehler in der gewünschten Ausgabe. Ich habe es korrigiert ... – upendra

Antwort

1

Es könnte einen Weg geben, die nicht abgebildeten Orthologen herauszufiltern.

Inzwischen ein "quick-and-NotTooDirty" Lösung wie folgt sein würde:

dcast (Teilmenge (Schmelze (df, id = "id"), value = "Nicht gefunden"), id ~ Variable + Wert)

wo df ist Ihr Eingabe-Datenobjekt.

Möglicherweise müssen Sie die Spalten umbenennen.

Der erste Ausdruck (dh Schmelze (df, id = „id“) erzeugt eine 3 Spalte df. Die Teilmenge Ausdruck Datensätze herausfiltert, wo Wert == „nicht gefunden“. Last, die dcast Funktion es zurück bringt als ein großer Datenrahmen, mit nur einer Zeile pro ID

Abhängigkeit:. reshape2 Paket (wRT der Schmelze und dcast Funktionen)

+0

Danke es funktioniert wie Charme. Nette Lösung. – upendra

Verwandte Themen