亲爱的猿人们,一定知道shell脚本处理文件的操作,事实上,R语言也能像shell脚本一样,对文件夹和文件进行炒作,比如:
SHELL操作:
1. /* 在“./”目录下创建ABCD文件夹 */mkdir ./ABCD2. /* 在“./ABCD”目录下创建新文件 */vim./ABCD/1.txt3. /* 将1.txt移动到“./”文件夹下 */mv ./ABCD/1.txt ./- 4. /* 删除某文件夹或文件 */
- rm ./1.txt
- rm -rf ./ABCD
R 操作:
#***在windows环境下操作R***#dir.create("C:\Users\Administrator\Desktop\ABCD")#创建ABCD文件夹file.create("C:\Users\Administrator\Desktop\ABCD\1.txt")#在ABCD文件夹下创建1.txt文件file.copy(from="C:\Users\Administrator\Desktop\ABCD\1.txt",to="C:\Users\Administrator\Desktop\") #将1.txt移动到桌面下unlink("C:\Users\Administrator\Desktop\ABCD",recursive =TRUE)#删除ABCD文件夹file.remove("C:\Users\Administrator\Desktop\1.txt")#删除桌面上1.txt文件
更多干货:
http://www.anaharb.com/2014/0216/R-filename/
#设定工作目录:getwd()setwd("F:/DATA")#批量文件名获取(包含后缀):list.files(path = "F:/DATA" ,pattern="*.sav" )#生成完整路径:(f <- file.path("F:/DADA",list.files(path = "F:/DATA" ,pattern="*.sav" )))# file.path("F:/DADA", *filenamevector)#去掉文件名后缀:strsplit("nameabc.sav",split="\.")[[1]][1]#批量去掉文件名后缀:matrix(unlist(strsplit(list.files(path = "F:/DATA" ,pattern="*.sav" ),split="\.")),2)[1,]上述语句相对简单,以后如果有空,可以整理成function来使用。
总结:
***对文件夹的操作***
dir.create()
list.dirs()
dirname()
dir.exist() #判断该文件夹是否存在
unlink() #删除
***对文件进行操作
list.files()
file.create()
file.edit() #如果该文件存在,会直接打开编辑界面,如果该文件夹不存在会先创建,再打开编辑,
如:file.edit("script1.R", "script2.R")
file.append(file1,file2) #将文件1的内容添加到文件2中
file.show("...")#...中放显示文件的路径,会显示文件的内容
file.choose(new=FALSE) #跳出窗口,供选择所需要的文件
file.size()
file.path()
file.rename()
...
在SHELL中操作演示:
步骤1: 在“./”目录下创建ABCD文件夹
步骤2: 在“./ABCD”目录下创建新文件
步骤3: 将 1.txt 移动到“./”文件夹下
步骤4: 删除某文件夹或文件
在SHELL中操作演示:
步骤1: 在“./”目录下创建ABCD文件夹
步骤2: 在“./ABCD”目录下创建新文件
步骤3: 将 1.txt 移动到“./”文件夹下
步骤4: 删除某文件夹或文件
那么,如何用R进行以上基本操作呢?
上述例子也可以这么操作(事例Windows版本,Linux版本操作同下,这里只是为演示比较直观):
#***创建文件夹***#dir.create("C:\Users\Administrator\Desktop\ABCD")#‘’存放文件夹的路径,如下图,可以看见桌面上新建了名称为package的文件夹
#***在ABCD文件夹中创建1.txt文件***#file.create("C:\Users\Administrator\Desktop\ABCD\1.txt")
#***将1.txt文件移到桌面上***#file.copy(from="C:\Users\Administrator\Desktop\ABCD\1.txt",to="C:\Users\Administrator\Desktop\")
#***删除文件夹及文件***#unlink("C:\Users\Administrator\Desktop\ABCD",recursive =TRUE)
#***删除文件***###file.remove("C:\Users\Administrator\Desktop\1.txt")
最后
以上就是冷酷香烟最近收集整理的关于R与文件夹操作的全部内容,更多相关R与文件夹操作内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复