R 合并2000+;excel文件整合成一个大数据框架

R 合并2000+;excel文件整合成一个大数据框架,r,merge,dataframe,import-from-excel,R,Merge,Dataframe,Import From Excel,我编写了一个代码,将excel文件合并到一个大数据框架中。代码在处理少量测试文件时运行良好(by=参数来自merge函数。它会费劲地猜测要合并数据的值。通过在两个函数中查找名称相同的列来继续。听起来好像您正在使用重复的列名结束。这可能与您已显式关闭check.names在您的read语句中,您可能会遇到错误的列名。所有文件中是否都有一个共享列名要合并?如果有,请在merge()中显式设置by=。所有其他列名都是唯一的吗?如果不是,这仍然是一个问题。正如@MrFlick所说,损坏的Excel文件可

我编写了一个代码,将excel文件合并到一个大数据框架中。代码在处理少量测试文件时运行良好(
by=
参数来自
merge
函数。它会费劲地猜测要合并数据的值。通过在两个函数中查找名称相同的列来继续。听起来好像您正在使用重复的列名结束。这可能与您已显式关闭
check.names
在您的read语句中,您可能会遇到错误的列名。所有文件中是否都有一个共享列名要合并?如果有,请在
merge()中显式设置
by=
。所有其他列名都是唯一的吗?如果不是,这仍然是一个问题。正如@MrFlick所说,损坏的Excel文件可能包含两个同名的列,并且它也是
合并
尝试加入的列名。它失败,因为它不知道从2(或更多)列中选择哪一列谢谢Flick先生和lukeA。其中一个文件中有一个重复的列,一旦我删除了它,代码就运行得很好。
    library(rJava)
    library (XLConnect)
    data.files = list.files(pattern = "*.xls")
    df = readWorksheetFromFile(file=data.files[1], sheet=1, check.names=F) # Read the         first file

    # Loop through the remaining files and merge them to the existing data frame
    for (file in data.files[-1]) {
        newFile = readWorksheetFromFile(file=file, sheet=1, check.names=F)
    df = merge(df, newFile, all = TRUE, check.names=F)
    }

    write.csv(df, file="Collated_Raw_Files.csv")