我知道这似乎是一个我可以研究的问题,但事实并非如此。
我想在特定目录中导入以.tsv结尾的所有文件。为此,我跑了:
setwd("directory")
dfs = list.files(pattern = "*.tsv")
raw <- lapply(dfs, read.table, sep = "\t")
然而,当我做名字(原始)时,我得到NULL。
如果我要做的话
names(raw) <- dfs
然后我指定的实际名称和名称不对齐。 如何将文件名放入列表时确保文件名保留为数据框名称?
由于
答案 0 :(得分:0)
这是我想要做同样事情时使用的代码。它是一头牛,但对我来说效果很好。我只是把它从一个更长的脚本中拉出来,所以希望它适合你。
substrRight <- function(x, n){
substr(x, nchar(x)-n+1, nchar(x))
}
filenames=list.files(path=yourpath, full.names=TRUE)
filenameshort<-list.files(path=yourpath, full.names=FALSE)
endnames=NULL
for(i in 1:length(filenames)){endnames[i]=substrRight(filenames[[i]],3)}
filenames=filenames[ifelse(endnames=="tsv",TRUE,FALSE)]
filenameshort=filenameshort[ifelse(endnames=="tsv",TRUE,FALSE)]
numberfiles=length(filenames)
for(i in 1:numberfiles){assign(filenameshort[i],read.table(filenames[i]))}