概述
亲爱的猿人们,一定知道shell脚本处理文件的操作,事实上,R语言也能像shell脚本一样,对文件夹和文件进行炒作,比如:
SHELL操作:
1. /* 在“./”目录下创建ABCD文件夹 */
mkdir ./ABCD
2. /* 在“./ABCD”目录下创建新文件 */
vim./ABCD/1.txt
3. /* 将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与文件夹操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复