Ich habe 2-Datenrahmen:
x = list("a", "b",1,2)
m1=matrix(x,2,2)
colnames(m1) <- c("gene", "fc")
y = list("A", "B", "C",1,2,3)
m2 = matrix(y,3,2)
colnames(m2) <- c("gene", "fc")
df1 <- as.data.frame(m1)
df2 <- as.data.frame(m2)
Ich versuche, diese 2 Datenrahmen zu fusionieren mit:
merged <- merge(df1, df2, by=("gene"))
Aber ich habe diesen Fehler:
Error in sort.list(bx[m$xi]) : 'x' must be atomic for 'sort.list' Have you called 'sort' on a list?
Was mache ich falsch?
Gibt es eine Möglichkeit, die Liste-Klasse meiner Daten an die Basisdaten zu zwingen? – ALejandro
Ja. Da ist ein Weg. Aber in diesem Fall werden alle Elemente nur von einem Typ sein. Sie können für 'unlist()' Funktion gehen –
@ALejandro; eine Sache zu beachten ist, dass die Gene ein anderer Fall in Ihren zwei Datenrahmen sind, daher gibt es keine gemeinsamen Gene zu entsprechen. Also zwinge zuerst, beide zu senken (oder groß). Sie können dann mit 'df2 $ gen <- tolower (df2 $ gen); merge (lapply (df1, unlist), lapply (df2, unlist), durch = "gen", all = TRUE) '. Ich würde jedoch versuchen, Ihre Daten in einem solchen Format zu vermeiden. – user20650