我是靠谱客的博主 冷酷香烟,最近开发中收集的这篇文章主要介绍R与文件夹操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

亲爱的猿人们,一定知道shell脚本处理文件的操作,事实上,R语言也能像shell脚本一样,对文件夹和文件进行炒作,比如:

SHELL操作:

  1. 1. /* 在“./”目录下创建ABCD文件夹 */
  2. mkdir ./ABCD
  3. 2. /* 在“./ABCD”目录下创建新文件 */
  4. vim./ABCD/1.txt
  5. 3. /* 1.txt移动到“./”文件夹下 */
  6. mv ./ABCD/1.txt ./
  7. 4. /* 删除某文件夹或文件 */
  8. rm ./1.txt
  9. rm -rf ./ABCD
R 操作:
  1. #***在windows环境下操作R***#
  2. dir.create("C:\Users\Administrator\Desktop\ABCD")#创建ABCD文件夹
  3. file.create("C:\Users\Administrator\Desktop\ABCD\1.txt")#在ABCD文件夹下创建1.txt文件
  4. file.copy(from="C:\Users\Administrator\Desktop\ABCD\1.txt",to="C:\Users\Administrator\Desktop\") #1.txt移动到桌面下
  5. unlink("C:\Users\Administrator\Desktop\ABCD",recursive =TRUE)#删除ABCD文件夹
  6. file.remove("C:\Users\Administrator\Desktop\1.txt")#删除桌面上1.txt文件
更多干货: http://www.anaharb.com/2014/0216/R-filename/
  1. #设定工作目录:
  2. getwd()
  3. setwd("F:/DATA")
  4. #批量文件名获取(包含后缀):
  5. list.files(path = "F:/DATA" ,pattern="*.sav" )
  6. #生成完整路径:
  7. (f <- file.path("F:/DADA",list.files(path = "F:/DATA" ,pattern="*.sav" )))
  8. # file.path("F:/DADA", *filenamevector)
  9. #去掉文件名后缀:
  10. strsplit("nameabc.sav",split="\.")[[1]][1]
  11. #批量去掉文件名后缀:
  12. matrix(unlist(strsplit(list.files(path = "F:/DATA" ,pattern="*.sav" ),split="\.")),2)[1,]
  13. 上述语句相对简单,以后如果有空,可以整理成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: 删除某文件夹或文件




那么,如何用R进行以上基本操作呢?
上述例子也可以这么操作(事例Windows版本,Linux版本操作同下,这里只是为演示比较直观):
  1. #***创建文件夹***#
  2. 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\")

    1. #***删除文件夹及文件***#
    2. unlink("C:\Users\Administrator\Desktop\ABCD",recursive =TRUE)


     
    1. #***删除文件***###
    2. file.remove("C:\Users\Administrator\Desktop\1.txt")

最后

以上就是冷酷香烟为你收集整理的R与文件夹操作的全部内容,希望文章能够帮你解决R与文件夹操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部