Ich kann nicht für das Leben von mir herauszufinden, wo der einfache Fehler in meiner for-Schleife die gleichen Analysen über mehrere Datenrahmen und Ausgabe durchführen Der neue Datenrahmen jeder Iteration verwendet die Variable, die zusammen mit einer zusätzlichen Zeichenfolge verwendet wird, um den neuen Datenrahmen zu identifizieren.For Schleife über die Liste der Datenrahmen und neue Datenrahmen aus jeder Iteration mit Variablennamen
Hier ist mein Code:
john
und jane
sind 2-Datenrahmen unter vielen ich Schleife bin der Hoffnung, über und vergleichen zu bcm
doppelte Ergebnisse in Zeilen zu finden.
x <- list(john,jane)
for (i in x) {
test <- rbind(bcm,i)
test$dups <- duplicated(test$Full.Name,fromLast=T)
test$dups2 <- duplicated(test$Full.Name)
test <- test[which(test$dups==T | test$dups2==T),]
newname <- paste("dupl",i,sep=".")
assign(newname, test)
}
Bis jetzt kann ich entweder bekommen die Namensgebung richtig zu arbeiten, ohne die x
Daten oder die Schleife einschließlich korrekt abzuschließen, ohne richtig die neuen Datenrahmen zu benennen.
beabsichtigtes Ergebnis: Ich bin die Hoffnung, neuen Datenrahmen dupl.john
und dupl.jane
zu erstellen um zu zeigen, welche Zeilen im Vergleich zu bcm
dupliziert werden.
Ich verstehe, dass lapply()
könnte besser zu bedienen und bin sehr offen für diese Form der Lösung. Ich konnte nicht herausfinden, wie ich es benutzen konnte, um mein Problem zu lösen, also wandte ich mich an die bekanntere for-Schleife.
EDIT:
Sorry, wenn ich nicht mehr klar zu sein bin. Ich habe ungefähr 13 Datenrahmen insgesamt, die ich dieselbe Analyse ausführen möchte, um die doppelten Zeilen in $Full.Name
zu finden. Ich könnte die ersten 4 Zeilen meiner Schleife und dann dupl.john <- test
13 Mal (für jeden Datenrahmen), aber ich versuche absichtlich eine For-Schleife oder schreiben, um mehr Wissen in R zu gewinnen, und weil ich sicher bin, dass es effizienter ist .
Versuchen Sie 'test <- rbind (bcm, get (i))'. In der Tat sind einige "lapply" vielleicht bequem. –