循环遍历R中目录中的所有文件
这是我第一次使用R,我只需要输入一个包含一些文件的包,并将输出保存在其他一些文件中。我有一个目录,其中有一些扩展名为.pdb的文件。我需要在for循环中遍历这些文件,应用一些函数,并将每个文件的输出(即矩阵)保存在一个文件中,以便以后在Matlab中使用 这些是我希望应用于每个.pdb文件的函数循环遍历R中目录中的所有文件,r,matlab,R,Matlab,这是我第一次使用R,我只需要输入一个包含一些文件的包,并将输出保存在其他一些文件中。我有一个目录,其中有一些扩展名为.pdb的文件。我需要在for循环中遍历这些文件,应用一些函数,并将每个文件的输出(即矩阵)保存在一个文件中,以便以后在Matlab中使用 这些是我希望应用于每个.pdb文件的函数 p=extractPDB("1HXH.pdb") cm<-build.contacts(n=p$lca,xyz=p$coords,cuts=169)$cm cm是我想保存在一个文件中的输出矩阵,
p=extractPDB("1HXH.pdb")
cm<-build.contacts(n=p$lca,xyz=p$coords,cuts=169)$cm
cm是我想保存在一个文件中的输出矩阵,以后在Matlab中使用。循环使用具有特定扩展名的文件很容易。实际上,您可以循环使用文件名 获取目录中所有文件的列表 仅获取以pdb结尾的文件 在名称上运行一个循环 您可能必须使用setwd更改工作目录
保存文件有很多选项,在matlab中读取文件时,最好将矩阵保存为csv文件。查看write.table的文档并调整参数,使其便于阅读。您已经尝试过什么?为什么不起作用?从小事做起:如何处理一个文件?如何出口?如果可以这样做,请查看如何查找目录中的所有文件提示:list.files并重复操作。如果.pdb文件是蛋白质数据库,则可以使用函数在MatLab中直接打开它们
all.files <- list.files()
my.files <- grep(".*pdb", all_files, value=T)
for(i in my_files){
# do your operations here
p=extractPDB("1HXH.pdb")
cm<-build.contacts(n=p$lca,xyz=p$coords,cuts=169)$cm
# save
output.filename <- gsub("(.*?).pdb", "\\1.csv", i)
write.table(cm, output.filename)
}