Ich arbeite in R mit 10 Listen (files1
, files2
, files3
, ... files10
). Jede Liste enthält mehrere Datenrahmen.R - Verwendung von Listennamen in einer For-Schleife
Jetzt möchte ich einige Werte aus jedem Datenrahmen in jeder Liste extrahieren.
ich eine
for-Schleife verwenden, würdent = c("A", "C", "G", "T")
for (i in files1) {
for (j in nt) {
name = paste(j, i, sep = "-") # here I want as output name = "files1-A". However this doesn't work. How can I get the name of the list "files1"?
colname = paste("percentage", j, sep = "") # here I was as output colname = percentageA. This works
assign(name, unlist(lapply(i, function(x) x[here I want to use the column with the name "percentageA", so 'colname'][x$position==1000])))
}
}
Also, ich habe Probleme Namen von Listen und Zuweisen sie Variablen.
Ich weiß nur Schleife durch die erste Liste, aber ist es auch möglich, sofort alle meine Listen durchlaufen?
Mit anderen Worten: Wie kann ich den folgenden Code in eine for-Schleife einfügen? Ich erstelle eine gefälschte Liste mit Datenrahmen
A_files1 = unlist(lapply(files1, function(x) x$percentageA[x$position==1000]))
C_files1 = unlist(lapply(files1, function(x) x$percentageC[x$position==1000]))
G_files1 = unlist(lapply(files1, function(x) x$percentageG[x$position==1000]))
T_files1 = unlist(lapply(files1, function(x) x$percentageT[x$position==1000]))
A_files2 = unlist(lapply(files2, function(x) x$percentageA[x$position==1000]))
C_files2 = unlist(lapply(files2, function(x) x$percentageC[x$position==1000]))
G_files2 = unlist(lapply(files2, function(x) x$percentageG[x$position==1000]))
T_files2 = unlist(lapply(files2, function(x) x$percentageT[x$position==1000]))
....
A_files10 = unlist(lapply(files10, function(x) x$percentageA[x$position==1000]))
C_files10 = unlist(lapply(files10, function(x) x$percentageC[x$position==1000]))
G_files10 = unlist(lapply(files10, function(x) x$percentageG[x$position==1000]))
T_files10 = unlist(lapply(files10, function(x) x$percentageT[x$position==1000]))
Funktioniert 'name (fileS1)' 'NULL'? –
@ joel.wilson: Ja, es tut – user1987607
Es wäre toll, Beispieldaten, zum Beispiel 2-3 Dateien zu haben, um Beispiel zu haben. Siehe [wie man ein reproduzierbares Beispiel erstellt] (http: // stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproduzierbar-Beispiel/5965451 # 5965451). Im Allgemeinen erzeuge ich zum Lesen mehrerer Dateien eine Funktion (variable1, variable2), die einen Datenrahmen aus einer einzigen Datei zurückgibt. Dann benutze ich das Paket 'dplyr' mit' group_by (variable1, variable2) '' do (myfunction (. $ Variable1,. $ Variable2)) 'um mehrere Dateien zu lesen. Das ist großartig, um alle Daten in einem einzigen Datenrahmen zu erhalten. –