如何按日期对文件列表进行排序?

Yan*_*ann 22 r

我正在使用list.files(path, pattern, full.names = TRUE)获取特定目录中的文件列表.

默认情况下,这些文件按字母顺序排序.R中是否有任何方法可以按日期排序?

csg*_*pie 47

您可以使用该file.info功能获取文件的详细信息.获得这些详细信息后,您可以相应地对文件进行排序.例如,

details = file.info(list.files(pattern="*.csv"))
Run Code Online (Sandbox Code Playgroud)

给出一个数据框,其中包含修改和创建时间等.您可以根据需要对该数据框进行排序.在这里,我根据修改时间排序,mtime:

details = details[with(details, order(as.POSIXct(mtime))), ]
files = rownames(details)
Run Code Online (Sandbox Code Playgroud)

  • 这太妙了。它也可以顺利地使用 full.names=TRUE 。 (2认同)
  • 这真是太棒了。如果您想将性能提高几个数量级,请考虑在较新版本的“file.info()”中使用“extra_cols = FALSE”参数。这迫使 R 使用本机 C 后端代码。 (2认同)