我有很多数据框,所以我将它们作为列表导入,但我发现这些数据框的列数不同,所以我决定将它们剪掉,我想只对第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中的名单。感谢您的帮助。
答案 0 :(得分:2)
我们可以使用lapply
遍历list
并提取([
)前3列(1:3
)。
lapply(lst, `[`, 1:3)
如果我们正在将文件读入list
,则select
中fread
的另一个选项是data.table
选项,其中我们指定要读取的列数。
假设我们想要阅读工作目录中的所有.csv
个文件
library(data.table)
files <- list.files(pattern = ".csv")
lst1 <- lapply(files, fread, select = 1:3)