【发布时间】:2017-05-13 18:24:50
【问题描述】:
我有多个名为 xdata.ascii 的文件,x 是一个数字。如何将名称从 1data.ascii 的所有文件导入到,例如 100data.ascii。我还有其他名称不同的 .ascii 文件,不想导入它们。
【问题讨论】:
我有多个名为 xdata.ascii 的文件,x 是一个数字。如何将名称从 1data.ascii 的所有文件导入到,例如 100data.ascii。我还有其他名称不同的 .ascii 文件,不想导入它们。
【问题讨论】:
我们可以使用list.files来获取所有具有该模式的文件
files <- list.files(pattern = "\\d+data\\.ascii", full.names = TRUE)
然后通过将lapply 循环到list 来读取文件
lst <- lapply(files, read.csv)
【讨论】:
is.data.frame(lst) 时,它返回FALSE。如何获取数据作为数据框?
data.frame 的list,而不是单个data.frame。假设你想绑定所有的data.frame,使用do.call(rbind, lst)假设所有数据集中的列都相同或library(data.table); rbindlist(lst)
\d 是十进制的。我不明白“\\d+data\\”开头或结尾的“\\”。
\\d+ 表示数字+ 表示一个或多个后跟data,后跟一个dot,这是一个元字符,所以我们必须用\` to get the literal meaning of 对其进行转义。否则它会被评估为后面的任何字符ascii