我正在从一个文件夹导入多个温度寄存器的 .csv 文件,并且需要创建一个表将它们全部合并,其中必须跳过前 15 行并且必须保留文件名。 如何保留文件名?
如有任何建议,我们将不胜感激
谢谢
> setwd("")
>
> files <- list.files("folder",pattern = ".csv", recursive
> = T, full.names = T)
>
> data<- do.call(rbind, lapply
> (files, read.csv, as.is=T, skip = 15, header = TRUE))
使用此代码我得到了表格,但不知道如何使用文件名添加新变量
> data
time temp
1 2019-11-29 19:39:28 14.4
2 2019-11-29 20:09:28 14.4
3 2019-11-29 20:39:28 14.5
4 2019-11-29 21:09:28 14.5
您可能想要类似的东西
files = list.files("folder", pattern = "\\.csv$", recursive = TRUE, full.names = TRUE)
# data0 =
lapply(files, \(i) { # or basename(files)?
file = read.csv(i, as.is = TRUE, skip = 15L, header = TRUE)
transform(file, name = rep(i, nrow(file))) # or sub(".csv", "", i) instead of i
}) |> do.call(what = "rbind")