2016-09-07 1 views
0

Ich habe versucht, eine Reihe von Daten in dynamischen Namen speichern mit save() bekam aber einen Fehler:Wie Daten mit dynamischen Namen speichern unter Verwendung von save() in R

objects ... not found.

Es sieht aus, dass write.csv() funktioniert gut. Können Sie auf save() helfen?

names <- c('JOHN', 'ADAM') 
dummy <- "FamilyName " 
for (name in names) { 
    names[name] <- paste(dummy, name) 
    write.csv(names[name], paste(name, ".csv", sep=''), row.names=F) 
    save(names[name], paste(name, ".Rdata", sep=''), row.names=F) 
} 
+2

Ich mache die gleiche Art von Aufgabe im Moment. Da Sie jeweils ein Objekt speichern, sollten Sie in 'saveRDS' schauen. – Frank

+0

'save (list = character()))' für Zeichen. Aus Sicherheitsgründen sollten Sie alle Ihre Argumente in 'save' benennen, da der erste' '' 'ist. –

+0

Sie können auch einfach 'x = Namen [Name]' eingeben und dann in der nächsten Zeile (siehe das Argument "Datei") '' save '' 'speichern (x, file = einfügen (name,". Rdata ", sep = ''), row.names = F)' Betrachte 'saveRDS' /' readRDS' zusätzlich für einzelne Objekte, sie sind vielleicht bequemer (ok, danke Frank, dass du das herausgebracht hast :). – jakub

Antwort

0

Wahrscheinlich möchten Sie den Vektor, den Sie durchlaufen, nicht aktualisieren. Wenn Sie den Code ändern, um eine temporäre Variable zu verwenden, anstatt in Namen zu schreiben, funktioniert Ihr Code:

Verwandte Themen