【问题标题】:Import multiple CSV files in R columnwise在 R 中按列导入多个 CSV 文件
【发布时间】:2016-09-11 23:31:47
【问题描述】:

我正在重塑我的问题,

我需要将几个 296x2(296 行 x 2 列)的 CSV 文件导入到单个数据集中。

所有文件的第一列都相同。

我想将所有 CSV 按列合并到一个数据集中(仅将第一列保留为行名一次。 换句话说,所有 329 个 CSV 文件都以逗号分隔,并且都是相同的 296x2。我想最终得到一个 296x329 的数据集,其中包含每个数据集的第二列。

提前致谢 埃米利亚诺

【问题讨论】:

  • 你是如何“合并”数据的?也许您应该使用cbind 将您的数据放在一起?
  • 是的,也许我应该这样做!我会在帖子里写下我是怎么做到的,谢谢
  • 没有看到您的数据或您编写的代码,很难为您提供帮助。阅读how to make a reproducible example - 如果其他人可以看到您所做的事情,您更有可能获得帮助。

标签: r csv import reshape


【解决方案1】:

在不知道您的数据的情况下很难说,但假设您的数据集位于文件夹名称中:C:/foo/。试试这个:

filenames <- list.files('C:/foo/', pattern="*.csv", full.names=TRUE)
la <- lapply(filenames, read.csv)


Reduce(function(x, y) merge(x, y, by="Wavelength"), la)

【讨论】:

  • 感谢 eddie,您的行设法仅在单个巨大的列中将所有内容一起导入,这很困难 :( 所有 329 个 CSV 文件都以逗号分隔,并且都是相同的 296x2。我想以 296x329 结尾包含每个数据集第二列的数据集:)
  • 哦,所有文件的第一列都相同吗?
  • 试试这个,让我知道好吗? dataset
  • 您好 Eddie,是的,第一列对所有人都是一样的。我无法编译这些行,错误:意外符号在:“dataset
  • 我想我找到了解决方案,我编辑了答案,请试试这个并告诉我。
猜你喜欢
  • 2018-11-22
  • 2014-07-20
  • 2016-06-23
  • 2013-09-21
  • 2021-02-13
  • 1970-01-01
  • 1970-01-01
  • 2021-10-14
  • 2015-03-03
相关资源
最近更新 更多