Ich habe das Problem, wo ich ein Objekt des Dateityps .Rdata laden muss, wo der Name des Objekts unbekannt ist. Ich bin in der Lage, den Namen zu erhalten, indem Sie verbose = TRUE
in der load
Funktion verwenden. Ich benenne das Objekt dann mit get
um, um den Objektnamen für weitere Verarbeitungsschritte zu standardisieren. Jetzt möchte ich das ursprüngliche Objekt entfernen, indem ich diesen Namen anrufe. Ich kann nicht die Zeichenfolge scheinen in meinem Objekt gehalten zu bekommen rm
zu adressieren, die den Namen aufgezeichnet:Wie kann ein geladenes Objekt in R dynamisch entfernt werden, wenn der Objektname unbekannt ist?
a <- 1:10 # original data 'a'
z <- tempfile()
save(a, file=z) # saved to tempfile that doesn't contain the object name
rm(a) # then removed
obj.name <- load(z, verbose = TRUE) # 'a' is loaded and name recorded
b <- get(obj.name) # object is passed to 2nd object 'b' to standardize name
rm(list(get(obj.name))) # can't remove 'a' this way
# Error in rm(list(get(obj.name))) :
# ... must contain names or character strings
file.remove(z) # cleanup
Zu einfach. Vielen Dank! –