我有几个DFs。它们中的每一个都是来自我的exp的参与者的res csv文件。有些csv有48个变量。其他人除了这些相同的变量外,还有另外6个变量(53个变量)。但是,如果我试图像这样合并它们:
flist <- list.files(path="my path", pattern = ".csv", full.names = TRUE)
Merge<-plyr::ldply(flist, read_csv) #Merge all files合并是由列顺序完成的,而不是由变量名称完成的。因此,在我的大组合DF的一列中,我从不同的变量中获得数据。
因此,我尝试了不同的策略:将我的文件作为单独的DFs上传:
data_files <- list.files("my_path") # Identify file names
data_files
for(i in 1:length(data_files)) { # Head of for-loop
assign(paste0("data", i), # Read and store data frames
read_csv(paste0("my_path/",
data_files[i])))
}然后,我试图通过这个脚本合并它们:
listDF <- names(which(unlist(eapply(.GlobalEnv,is.data.frame)))) #list of my DFs
listDF
library(plyr)
MergeDF<-do.call('rbind.fill', listDF)但我还是被困住了。
发布于 2022-07-04 15:57:22
我们可以使用map_dfr
library(readr)
library(purrr)
map_dfr(setNames(flist, flist), read_csv, .id = "id")https://stackoverflow.com/questions/72859364
复制相似问题