我希望有人可以提供帮助,并且在搜索答案时我没有错过任何重要内容(我对R来说很新): 我试图导入多个.csv文件,然后返回每个原始文件名作为输出的行数。 csv文件名为50001.15,50002.15等
到目前为止,我有(从dir导入所有.csv)
files=list.files(pattern="*.csv")
for(file in files)
{
perpos <- which(strsplit(file, "")[[1]]==".")
assign(
gsub(" ","",substr(file, 1, perpos-1)),
read.csv(paste("C:/Users/NAMEetc/",file,sep="")))
}
我可以进行努力
nrow(50001.15)
返回单个文件的结果,但我希望在一个过程中为所有文件执行此操作
我尝试了一大堆其他比特(如果我在这里输入它会引起太多混乱)。有没有办法将nrow返回字符串组合在一起。
非常感谢任何帮助
答案 0 :(得分:0)
我们可以将files
循环到list
fread
data.table
,nrow
,vector
,更改names
中的vector
个元素,使用sub
files <- list.files(pattern='.*\\.csv', full.names=TRUE)
library(data.table)
lst <- lapply(files, fread)
v1 <- sapply(lst, nrow)
names(v1) <- sub('\\.csv', '', basename(files))