Salva diversi data.frames nell'ambiente di R usando per [duplicate]
Aug 31 2020
Sto cercando di salvare i frame di dati per diversi anni utilizzando per. Voglio salvare ogni frame di dati con un nome e alla fine del nome aggiungere l'anno. Ho il seguente codice, ma non capisco perché non funziona:
(years_vector = 1988:2017)
(N_years = length(years_vector))
ind_year <- 1
for (ind_year in 1:N_years) {
year=years_vector[ind_year]
x <- data.frame
name <- paste("data", year, sep = "_")
name <- x
}
Posso generare correttamente i nomi e il ciclo, ma sembra che i frame di dati non vengano salvati nell'ambiente
Risposte
akrun Aug 31 2020 at 04:26
Abbiamo bisogno assigninvece di<-
...
assign(name, value = x)
}
Utilizzando un piccolo esempio riproducibile
(years_vector = 1988:1990)
(N_years = length(years_vector))
ind_year <- 1
for(ind_year in seq_len(N_years)) {
year <- years_vector[ind_year]
x <- data.frame(col1 = rnorm(10))
nm1 <- paste("data", year, sep="_")
assign(nm1, x)
}
head(data_1988, 2)
# col1
#1 0.9503611
#2 0.3362196