首页 > 解决方案 > 使用 row.names 组合多个 .csv 文件

问题描述

我有多个 .csv 文件(目前为 4 个,但将来会发生变化),并试图将它们导入 R (导入单个数据框)。

我提取了文件名并在 lapply 中使用它来将它们加载为列表列表并定义行名。每个文件都有一个行名列和一个包含数据的列,如下所示:

每个单独的文件

在此处输入图像描述

lapply后R中的列表列表

在此处输入图像描述

count_files <- list.files()
count_lists <- lapply(count_files, read.csv, sep=",", header=TRUE, row.names="ENSG")

我需要的是 R 中的最终数据框看起来像:

R中的最终数据帧

在此处输入图像描述

标签: r

解决方案


您可以尝试使用mergeinReduce并按行名加入数据框。

result <- Reduce(function(x, y) merge(x, y, by = 'row.names', all = TRUE), count_lists)
result[is.na(result)] <- 0
result

推荐阅读