Los archivos CSV son básicamente archivos de texto en los que los valores de cada fila están separados por un delimitador, como una coma o una tabulación. En este artículo, utilizaremos el siguiente archivo CSV de muestra:
sample.csv
id, name, department, salary, projects 1, A, IT, 60754, 4 2, B, Tech, 59640, 2 3, C, Marketing, 69040, 8 4, D, Marketing, 65043, 5 5, E, Tech, 59943, 2 6, F, IT, 65000, 5 7, G, HR, 69000, 7
Lectura de un archivo CSV
El contenido de un archivo CSV se puede leer como un marco de datos en R usando la función read.csv(…). El archivo CSV que se va a leer debe estar presente en el directorio de trabajo actual o el directorio debe configurarse de acuerdo con el comando setwd (…) en R. El archivo CSV también se puede leer desde una URL usando read.csv()
la función.
Ejemplos:
csv_data <- read.csv(file = 'sample.csv') print(csv_data) # print number of columns print (ncol(csv_data)) # print number of rows print(nrow(csv_data))
Producción:
id, name, department, salary, projects 1 1 A HR 60754 14 2 2 B Tech 59640 3 3 3 C Marketing 69040 8 4 4 D HR 65043 5 5 5 E Tech 59943 2 6 6 F IT 65000 5 7 7 G HR 69000 7 [1] 4 [1] 7
El encabezado se establece de forma predeterminada en un valor VERDADERO en la función. El encabezado no está incluido en el recuento de filas, por lo que este CSV tiene 7 filas y 4 columnas.
Consulta con archivos CSV
Las consultas SQL se pueden realizar en el contenido de CSV y el resultado correspondiente se puede recuperar mediante la función subconjunto (csv_data) en R. Se pueden aplicar varias consultas en la función en un momento en el que cada consulta se separa mediante un operador lógico. El resultado se almacena como un marco de datos en R.
Ejemplos:
csv_data <- read.csv(file ='sample.csv') min_pro <- min(csv_data$projects) print (min_pro)
Producción:
2
Las funciones de agregación (mín., máx., recuento, etc.) se pueden aplicar a los datos CSV. Aquí la función min() se aplica en la columna de proyectos usando el símbolo $. Se devuelve el número mínimo de proyectos que es 2.
csv_data <- read.csv(file ='sample.csv') new_csv <- subset(csv_data, department == "HR" & projects <10) print (new_csv)
Producción:
id, name, department, salary, projects 4 4 D HR 65043 5 7 7 G HR 69000 7
El subconjunto de datos que se crea se almacena como un marco de datos que cumple las condiciones especificadas como argumentos de la función. Los empleados D y G son HR y tienen el número de proyectos<10. Los números de fila se conservan en el marco de datos resultante.
Escribir en un archivo CSV
El contenido del marco de datos se puede escribir en un archivo CSV. El archivo CSV se almacena en el directorio de trabajo actual con el nombre especificado en la función write.csv (marco de datos, nombre CSV de salida) en R.
Ejemplos:
csv_data <- read.csv(file ='sample.csv') new_csv <- subset(csv_data, department == "HR" & projects <10) write.csv(new_csv, "new_sample.csv") new_data <-read.csv(file ='new_sample.csv') print(new_data)
Producción:
X id, name, department, salary, projects 1 4 4 D HR 65043 5 2 7 7 G HR 69000 7
La columna X contiene los números de fila del archivo CSV original. Para eliminarlo, podemos especificar un argumento adicional en la función write.csv() que establece los nombres de las filas en FALSO.
csv_data <- read.csv(file ='sample.csv') new_csv <- subset(csv_data, department == "HR" & projects <10) write.csv(new_csv, "new_sample.csv", row.names = FALSE) new_data <-read.csv(file ='new_sample.csv') print(new_data)
Producción:
id, name, department, salary, projects 1 4 D HR 65043 5 2 7 G HR 69000 7
Los números de fila originales se eliminan del nuevo CSV.