列表中的R子集列

时间:2016-09-27 02:52:38

标签: r list sorting

我有很多数据框,所以我将它们作为列表导入,但我发现这些数据框的列数不同,所以我决定将它们剪掉,我想只对第1列到第3列进行排序列表中的数据框。

function roundDownDate(date) {
  if (typeof date !== "object" || !date.getUTCMilliseconds) {
      throw Error("Arg must be a Date object.");
  }
  var offsetMs = date.getTimezoneOffset() * 60 * 1000,
      oneDayMs = 24 * 60 * 60 * 1000;
  return new Date(Math.floor((date.getTime() - offsetMs) / oneDayMs) * oneDayMs + offsetMs);
};

我不熟悉R中的名单。感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我们可以使用lapply遍历list并提取([)前3列(1:3)。

lapply(lst, `[`, 1:3)

如果我们正在将文件读入list,则selectfread的另一个选项是data.table选项,其中我们指定要读取的列数。

假设我们想要阅读工作目录中的所有.csv个文件

library(data.table)
files <- list.files(pattern = ".csv")
lst1 <- lapply(files, fread, select = 1:3)