R与文件夹操作

来源:互联网 发布:淘宝返利网站有哪些 编辑:程序博客网 时间:2024/05/21 17:58

亲爱的猿人们,一定知道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")

  • 1 0
    原创粉丝点击
    热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 新买的拖鞋很滑怎么办 瓷砖地板刮花了怎么办 墙上瓷砖快掉了怎么办 香皂掉厕所堵了怎么办 陶瓷刀不锋利了怎么办 蒸馒头没有屉布怎么办 电炖锅水不沸腾怎么办 掉了一颗虎牙,怎么办 牙里面掉了一块怎么办 u盘坏了无法识别怎么办 u盘内容读不出来怎么办 u盘文件读不出来怎么办 u盘突然读不出来怎么办 u盘读取不出来怎么办 蛋糕卷底部粘纸怎么办 美瞳没有护理液怎么办 没有带护理液了怎么办 护理液忘记带了怎么办 康宁玻璃锅裂了怎么办 带隐形牙套喝酒怎么办 牙齿保持器丢了怎么办 牙套保持器坏了怎么办 牙齿磕掉了一小块怎么办 牙齿裂掉了一半怎么办 大牙缺了一小块怎么办 牙根碎了一小块怎么办 门牙碎了一小块怎么办 孩子门牙长歪了怎么办 儿童门牙长歪了怎么办 大门牙长歪了怎么办 下面牙齿长歪了怎么办 只有一颗牙齿歪怎么办 牙齿突然长歪了怎么办 有个牙齿长歪了怎么办 一颗大牙长歪了怎么办 一颗牙齿长偏了怎么办 一个门牙长歪了怎么办 儿童牙齿长歪了怎么办 孩子牙齿长歪了怎么办 宝宝门牙长歪了怎么办 一颗牙齿挤歪了怎么办