如何在 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