我目前正在将来自多个Excel文件的数据合并到一个df中。问题是,文件中的列数不同(由于实验版本不同),因此我只需要绑定每个文件中的某些列/变量(它们具有相同的名称)。
我最初尝试使用以下方法“手动”进行操作:
library(openxlsx)
PWI <- read.xlsx("/Users/myname/Desktop/PrelimPWI/PWI_1_V1A.xlsx",colNames = TRUE,startRow = 2)
Slim_1 <- data.frame(PWI$Subject,PWI$Block,PWI$Category,PWI$Trial,PWI$prompt1.RT)
#read in and pull out variables of interest for one subject
mergedFullData = merge(mergedDataA,mergedDataB)
#add two together,then add the third to the merged file,add 4th to that merged file,etc
显然,似乎有一种更简单的方法来组合文件。我一直在使用:
library(openxlsx)
path <- "/Users/myname/Desktop/PrelimPWI"
merge_file_name <- "/Users/myname/Desktop/PrelimPWI/merge_file_name.xlsx"
filenames_list <- list.files(path= path,full.names=TRUE)
All <- lapply(filenames_list,function(merge_file_name$Subject){
print(paste("Merging",merge_file_name,sep = " "))
read.xlsx(merge_file_name,colNames=TRUE,startRow = 2)
})
PWI <- do.call(rbind.data.frame,All)
write.xlsx(PWI,merge_file_name)
但是,我不断收到错误消息,列数不匹配,但是我不确定在哪里提取所需的特定变量(前面的代码中列出的变量)。我尝试的任何其他调整都导致仅将第一个文件写入xlsx或完全空白的df。任何帮助将不胜感激!