2016-05-12 1 views
-2

Ich habe zwei Dateien:Wie fusionieren/Spiel zwei Dateien basierend auf derselben Spalte in R

  1. erste Datei einzelne Spalte Datei mit Kopf (file1$sample) enthalten 200 Proben/Zeile.

  2. zweite ist mehrspaltigen und mehrere Zeilen:

    dim(file2) 
    #[1] 652 20206 
    

Ich möchte file1 $ Probe und file2 $ Proben- und Extraktmatrix (200 * 20206) entsprechen.

versuchte ich Befehl folgende:

new <- merge(file1, file2, by.x='sample', by.y='sample') 

sondern gibt nur einzelne Zeile Datei

dim(new) 
#[1] 0 20206 

Also bitte helfen Sie mir, wie kann ich (200 * 20206) Matrix extrahieren.

Dank

+1

Versuchen 'file2 [match (file1 $ Probe, file2 $ Probe)]'. – nicola

+0

Dank Nicola, habe ich versucht, es zurück Matrix (200 * 20206), aber alle Werte sind "NA" – mona

+0

Willkommen bei Stack Overflow! Bitte lesen Sie die Informationen über [wie man eine gute Frage stellt] (http://stackoverflow.com/help/how-to-ask) und wie man ein [reproduzierbares Beispiel gibt] (http://stackoverflow.com/questions/ 5963269). Dies wird es anderen sehr erleichtern, Ihnen zu helfen. – zx8754

Antwort

0

Try this:

file1 = read.table("mydata1.txt", header=TRUE) 
file2 = read.table("mydata2.txt", header=TRUE) 
m=merge(file1,file2,by="sample") 
+0

Ich habe versucht: file1 = read.table ("mydata1.txt", header = T) [1] 200 1, file2 = lesen.tabelle ("mydata2.txt", header = T) [1] 652 20206 aber Ausgabe ist [1] 0 20206 – mona

+0

Dieser Code sollte funktionieren. Poste einen Auszug der beiden Dateien und ich werde die Ausgabe veröffentlichen. –

0

Try this:

result=merge(x=file1,y=file2,by="sample",all=T) 
Verwandte Themen