Vergleichen von zwei Listen [R]

Ich habe zwei ziemlich lange Listen (beide sind 232000 Zeilen). Wenn Sie versuchen zum ausführen von Analysen mit Hilfe der beiden, R gibt mir eine Fehlermeldung, dass einige Elemente in einem Listen sind nicht in den anderen (für einen bestimmten code ausführen, beide Listen müssen genau gleich sein). Ich habe Folgendes getan, um zu versuchen und zu entziffern:

#In Both
both <- varss %in% varsg
length(both)

#What is in Both
int <- intersect(varss,varsg)
length(int)

#What is different in varss
difs <- setdiff(varss,varsg)
length(difs)

#What is different in varsg
difg <- setdiff(varsg,varss)
length(difg)

Ich glaube, ich habe den code richtig, aber mein problem ist, dass die Ergebnisse aus dem obigen code werden nicht nachgeben, was ich brauche. Zum Beispiel, für both <- varss %in% varsg ich nur einen einzigen FALSE. Tun meine beiden Listen müssen in einer bestimmten Klasse, um für diese zu arbeiten? Ich habe versucht data.frame, list und character. Nicht sicher, ob alles große wie ein function angewendet werden muss.

Nur zu geben ein wenig mehr Informationen über meine Listen, beide sind eine Liste von SNP-Namen (genetische Daten)

Edit:

Habe ich geladen, diese beiden Dateien zu readRDS() und nicht sicher, ob das was zu einigen Problemen. Wenn Sie versuchen, verwenden Sie einfach varss[1:10,] bekomme ich die folgende info:

 [1] rs41531144 rs41323649 exm2263307 rs41528348 exm2216184 rs3901846 
 [7] exm2216185 exm2216186 exm2216191 exm2216198
232334 Levels: exm1000006 exm1000025 exm1000032 exm1000038 ... rs9990343

Habe ich wenig Erfahrung mit RData Dateien, also nicht sicher, ob das ein problem ist oder nicht...

Gleiche passiert mit varsg[1:10,] :

 [1] exm2268640 exm41      exm1916089 exm44      exm46      exm47     
 [7] exm51      exm53      exm55      exm56     
232334 Levels: exm1000006 exm1000025 exm1000032 exm1000038 ... rs999943 
Ich kenne deine Daten ist riesig, aber können Sie ein Vereinfachtes Beispiel von dem, was varss und varsg sind? Am besten mit einem tool wie ?dput
Das wird schwer herauszufinden. Aber lassen Sie mich Ihnen ein wenig mehr info im text...
Können Sie bitte das output-Werte für alle diese: class(varss), class(varsg), length(varss), length(varsg), sum(both), length(int), length(difs), length(diff)
class(varss) = "data.frame";class(varsg) = "data.frame"; length(varss) = 1;length(varsg)=1;sum(both)= 0; length(int)=0;length(difs)=1;length(diff)=1

InformationsquelleAutor user2726449 | 2014-04-28

Schreibe einen Kommentar