【问题标题】:Read one column from multiple files in r从r中的多个文件中读取一列
【发布时间】:2015-05-31 19:58:18
【问题描述】:

我有一个包含多个 csv 文件(如 40 个)的地毯,但我只想从它们中读取一列,即第 9 列,并将其分配给一个向量。有没有办法做到这一点而无需手动执行?

我想我以前看到过一个与此类似的问题,但我再也找不到了。

谢谢

【问题讨论】:

  • 您的标题和描述令人困惑。您想提取单行或单列吗?如果您想从 40 个文件中获取第 9 列。我们可以读取列表中的所有文件。如果所有文件中的列长度相同,files <- list.files(); lst <- lapply(files, read.table, header=TRUE, sep=''); lapply(lst, '[[', 9)sapply(lst, '[[',9) 在矩阵中获取输出
  • 我弄糊涂了,抱歉。我有 40 个这样的数据库:name form species strand function site 我只想要物种信息。但是,正如您所提到的,数据库的长度不相等,这就是我考虑向量的原因,但是有没有办法将它们放在单个数据框中,这会很棒,谢谢
  • 您可以将文件读入上述列表 (lst) 并使长度相等。即lst1 <- lapply(lst, '[[', 9); data.frame(lapply(lst1, "lengths<-", max(lengths(lst1))))

标签: r read.table


【解决方案1】:

使用read.table 中的colClasses 参数来限制您要读取的列。

【讨论】:

    猜你喜欢
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 2020-05-06
    • 2016-06-09
    相关资源
    最近更新 更多