Ich habe ein Problem mit get()
in R. mitzuweisen Wert zu einem R-Objekt ohne seinen Namen mit get() verwenden
Ich habe eine Reihe von data.frame
s mit einer gemeinsamen Struktur in meiner Umgebung. Ich möchte diese Datenrahmen durchlaufen und den Namen der 2. Spalte so ändern, dass der Name der 2. Spalte ein Präfix aus der 1. Spalte enthält. Wenn z. B. Spalte 1 = A_cat
und Spalte 2 dog
ist, möchte ich Spalte 2 in A_dog
ändern.
Unten ist ein Beispiel für den R-Code ich verwende:
df <- data.frame('A_cat'= 1:10 , 'dog' = 11:20)
for(element in grep('^df$', names(environment()), value=TRUE)) {
colnames(get(element))[2] <- paste(strsplit(colnames(get(element)) [1], '`_`')[[1]][1],
colnames(get(element))[2], sep='`_`')
}
Die Argumente in der for-Schleife, die auf beiden Seiten des Zuweisungsoperators, sowohl das erwartete Ergebnis, wenn ich sie separat laufen, aber wenn zusammen laufen lassen den folgenden Fehler erzeugen.
Fehler in COLNAMES (get (Element)) [2] < - Paste (strsplit (COLNAMES (get (Element)) [1],:
nicht Funktion finden konnten "get < -"
Jede mögliche Hilfe bei diesem Problem würde sehr geschätzt werden
" Ich habe eine Reihe von Datenrahmen mit einer gemeinsamen Struktur in meiner Umgebung. " Warum sind sie nicht schön zusammen in einer Liste? Dann müsstest du überhaupt nicht "bekommen". – Roland