Problema
Queremos guardar cada subconjunto de un data frame como un fichero de texto en el directorio de trabajo. En este ejemplo, utilizamos el conjunto de datos iris y crearemos un fichero CSV por cada una de las especies de la columna Species: setosa, versicolor, y virginica.
head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
Solución
Utilizamos el siguiente bucle para filtrar el data frame y creas los ficheros.
for (name in levels(iris$Species)) {
# Filtramos el data frame y seleccionamos las columnas
tmp <- subset(iris, select = -Species, Species == name)
# Crea un nuevo fichero por cada especie
fn <- paste(gsub(" ", "", name), ".csv", sep = "")
# Por cada especie, guarda un CSV en el directorio de trabajo
write.csv(tmp, fn, row.names = FALSE)
}
Resultado
En el directorio de trabajo, se habrán guardo los ficheros correspondientes.
No hay comentarios:
Publicar un comentario