如何在 r 中合并多个 csv 文件(分步示例)


您可以使用以下基本语法导入和合并位于 R 中同一文件夹中的多个 CSV 文件:

 df <- list. files (path=' C:/my/path/to/files ') %>% 
  lapply(read_csv) %>% 
  bind_rows

以下分步示例展示了如何在实践中使用此语法。

第 1 步:创建并导出多个数据框

首先,我们将使用以下代码创建三个数据框并将其导出到 CSV 文件:

 #create three data frames
df1 <- data. frame (points=c(4, 5, 5, 6, 8, 9),
                  assists=c(3, 2, 4, 4, 6, 3))

df2 <- data. frame (points=c(2, 10, 14, 15),
                  assists=c(3, 2, 9, 3))

df3 <- data. frame (dots=c(6, 8, 9),
                  assists=c(10, 6, 4))

#export all three data frames to CSV files
write.write. csv (df1, ' C:/Users/bob/Documents/my_data_files/df1.csv ', row.names = FALSE )
write.write. csv (df2, ' C:/Users/bob/Documents/my_data_files/df2.csv ', row.names = FALSE )
write.write. csv (df3, ' C:/Users/bob/Documents/my_data_files/df3.csv ', row.names = FALSE )

我可以导航到此文件夹并看到所有三个 CSV 文件均已成功导出:

步骤 2:导入并合并多个 CSV 文件

接下来,我们将使用以下代码将三个 CSV 文件导入并合并到 R 中的单个数据框中:

 library (dplyr)
library (readr)

#import and merge all three CSV files into one data frame
df <- list. files (path=' C:/Users/bob/Documents/my_data_files ') %>% 
  lapply(read_csv) %>% 
  bind_rows 

#view resulting data frame
df

# A tibble: 13 x 2
   assist points
       
 1 4 3
 2 5 2
 3 5 4
 4 6 4
 5 8 6
 6 9 3
 7 2 3
 8 10 2
 9 14 9
10 15 3
11 6 10
12 8 6
13 9 4

请注意,三个 CSV 文件已成功合并到一个数据框中。

我们可以看到生成的数据框有 13 行 2 列。

注意:如果数据框没有匹配的列名,R 将始终合并所有数据框并简单地用NA值填充缺失值。

其他资源

以下教程解释了如何在 R 中使用其他文件类型:

如何将Excel文件导入到R中
如何将 TSV 文件导入 R
如何将 Zip 文件导入到 R 中
如何将 SAS 文件导入 R
如何将 .dta 文件导入 R

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注