txt subir studio procedimiento para los leer importar datos con como cargar archivos archivo abrir r csv merge rowname

subir - importar datos en r studio



¿Combinar muchos marcos de datos de archivos csv, cuando la columna ID está implícita? (1)

Me gustaría unir un montón de marcos de datos juntos (porque parece que muchas operaciones son más fáciles si solo estás tratando con w / one, pero corrígeme si me equivoco).

Actualmente tengo un marco de datos como este:

ID, var1, var2 A, 2, 2 B, 4, 5 . . Z, 3, 2

Cada ID está en una sola fila con varias mediciones individuales

También tengo un archivo csv con mediciones repetidas para cada ID, como:

nombre_archivo = ID_B.csv

time, var4, var5 0, 1, 2 1, 4, 5 2, 1, 6 ...

Lo que me gustaría es:

ID, time, va1, var2, var4, var5 ... B, 0, 4, 5, 1, 2, B, 1, 4, 5, 4, 5, B, 2, 4, 5, 1, 6, ...

Realmente no me importa el orden de la columna. La única solución que se me ocurre es agregar la columna de ID a cada archivo csv y luego hacer un ciclo a través de ellos llamando a merge() varias veces. ¿Hay un enfoque más elegante?


Según tengo entendido, debe extraer el ID del nombre de archivo y luego combinar el csv importado con el marco de datos existente.

df1 <- read.csv(textConnection("ID, var1, var2 A, 2, 2 B, 4, 5")) # assuming the imported csv-files are in working directory filenames <- list.files(getwd(), pattern = "ID_[A-Z].csv") # extract ID from filename ids <- gsub("ID_([A-Z]).csv", "//1", filenames) # import csv-files and append ID library(plyr) import <- mdply(filenames, read.csv) import$ID <- ids[import$Var1] import$Var1 <- NULL # merge imported csv-files and the existing dataframe merge(df1, import)

Resultado:

ID var1 var2 time var4 var5 1 B 4 5 0 1 2 2 B 4 5 1 4 5 3 B 4 5 2 1 6