如何在R中合并多个excel文件的列?

时间:2017-12-13 12:03:28

标签: r r-xlsx

我有很多Excel文件。每个文件都有相同的格式和列数。假设,包含数据的文件A

    501 0006232.txt 0006235.txt 502 0.019047619 0.045989773
                    0006236.txt 503 0.042735043 0.116345945
                    0006239.txt 504 0.038095238 0.059372542
                    0006240.txt 505 0.0078125   0.007727828
                    0006247.txt 507 0.051724138 0.082823013

同样,文件B包含数据

    502 0006235.txt 0006236.txt 503 0.075757576 0.377716498
                    0006239.txt 504 0.01754386  0.043033148
                    0006240.txt 505 0.012987013 0.014002801
                    0006246.txt 506 0.044444444 0.150648715
                    0006247.txt 507 0.044117647 0.105052539

现在,我想以下列方式合并这些文件

501 0006232.txt 0006235.txt 502 0.019047619 0.045989773
                0006236.txt 503 0.042735043 0.116345945
                0006239.txt 504 0.038095238 0.059372542
                0006240.txt 505 0.0078125   0.007727828
                0006247.txt 507 0.051724138 0.082823013
502 0006235.txt 0006236.txt 503 0.075757576 0.377716498
                0006239.txt 504 0.01754386  0.043033148
                0006240.txt 505 0.012987013 0.014002801
                0006246.txt 506 0.044444444 0.150648715
                0006247.txt 507 0.044117647 0.105052539

但无法做到这一点。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

如果'文件' (又名数据)具有相同数量的列(并且最好)数据类型,以下解决方案将起作用:

    #--Dummy data

    file_1 <- data.frame(
      X = sample(1:10),
      Y = sample(c("yes", "no"), 10, replace = TRUE)
    )

    file_2 <- data.frame(
      X = sample(1:10),
      Y = sample(c("yes", "no"), 10, replace = TRUE)
    )

    #--Rbind to 'merge' the data

    merge_df <- rbind(file_1, file_2)

答案 1 :(得分:0)

首先我读了目录中的第一个文件。然后将其他文件一个一个地与它结合起来。这是我的代码。

f1=read.xlsx(list.files()[1],sheet = 1,colNames = FALSE)
for(i in 2:length(list.files()))
{
  f=read.xlsx(list.files()[i],sheet = 1,colNames = FALSE)
  f1=rbind(f1,f)
}
write.xlsx(f1,"titleResults.xlsx",)