使用不同的行数和名称在 R 中导入和组合多个 CSV 文件

社会研究员

我有一个文件夹,里面有几百个 .csv 文件,我想导入和合并。每个文件包含两列数据,但行数不同,行的名称也不同。列没有名称(为此,假设它们被命名为xy)。

我怎样才能将这些合并在一起?我只想将x列并排地在一起,而不是根据任何条件进行匹配,以便第一行在所有数据集中匹配,空行被赋予 NA。我想让专栏x消失。虽然,行应该保持它们最初在 csv 中的顺序。

下面是一个例子:

Data frame 112_c1.csv:

x       y
1  -0.5604
3  -0.2301
4   1.5587
5   0.0705
6   0.1292


Dataframe 112_c2.csv:

x         y
2   -0.83476
3   -0.82764
8    1.32225
9    0.36363
13   0.9373
42  -1.5567
50  -0.12237
51  -0.4837

Dataframe 113_c1.csv:

x       y
5   1.5783
6   0.7736
9   0.28273
15  1.44565
23  0.999878
29 -0.223756
=

Desired result

112_c1.y   112_c2.y  113_c1.y
-0.5604   -0.83476   1.5783
-0.2301   -0.82764   0.7736
1.5587     1.32225   0.28273
0.0705     0.36363   1.44565
0.1292     0.9373    0.999878
NA        -1.5567    -0.223756
NA        -0.12237   -0.223756
NA        -0.12237   NA
NA        -0.4837    NA

我尝试了一些事情,并查看了许多其他线程。但是像下面这样的代码只是为任何以下列生成 NA:

df <- do.call(rbind.fill, lapply(list.files(pattern = "*.csv"), read.csv))

另外,如果我使用rbind而不是rbind.fill我得到错误,names do not match previous names我不确定如何规避这个匹配标准。

达里奥

在加载数据时使用函数计算汇总统计数据的建议解决方案:

 readCalc <- function(file_path) {
   df <- read.csv(file_path)
   return(data.frame(file=file_path,
                     column = names(df),
                     averages = apply(df, 2, mean),
                     N = apply(df, 2, length),
                     min = apply(df, 2, min),
                     stringsAsFactors = FALSE, row.names = NULL))
 }


 df <- do.call(rbind, lapply(list.files(pattern = "*.csv"), readCalc))

如果我们需要第一个或最后一个值,我们可以使用dplyr::first, dplyr::last我们甚至可能想将整个向量存储在某个列表中,但如果我们只需要汇总统计信息,我们可能甚至不需要它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在保留名称的同时在R中导入多个csv文件

在R中导入csv文件

使用PHP在MySQL中导入.xsl和.csv文件

在R中使用read_csv导入多个csv文件

R导入多个CSV文件

如何在R中导入CSV文件?

R:在循环中读取和写入多个csv文件,然后使用原始名称进行输出

根据 R 中的不同值和列组合编写不同的 .csv 文件

R - 加载多个 csv 文件并从名称中删除 .csv

同时导入多个csv文件希望在R中将日期数据转换为(日期和时间)格式

ggplot2-导入和绘制多个.csv文件

在多个R文件中导入相同的PACKAGE

如何通过neo4j中导入的csv文件创建唯一的节点和关系?

使用 Python 在 .CSV 文件中搜索和替换多个名称

导入多个 .csv 文件并使用 r 从多个数据框中选择相同的变量

如何从 zip 读取多个 csv 文件并导入 R 中的不同数据帧?

在python系统中导入多个csv文件的问题

在excel中导入csv文件后删除多个标头

打开 CSV 文件并使用不同的名称和文件路径保存相同的 CSV

在drf中导入CSV文件

在hsqldb中导入csv文件

使用R将多个csv文件导入到postgresql数据库中(内存错误)

使用R和CSV文件在浏览器中打开多个URL

使用R在文件名不同时读取s3中的多个csv文件并将它们组合为单个文件

在R中绘制多个不同大小的csv文件的密度

使用Laravel在MySQL中导入大型CSV文件

使用R下载压缩数据文件,提取并导入.csv

如何使用正确的列类型将CSV文件导入R

将多个 Csv 文件导入为 R 中的数据帧