测试文件放在rawdata/目录下,包含以下内容
     
   
我在rawdata下存放了以上文件
    
     目录
    
   
    1.dir()
   
dir("rawdata/")
 [1] "001fe63b-06c8-4ca1-861a-3d1dd0fdf5fc" "298e02ea-bc72-48a5-8bfa-af556b7f7487"
 [3] "35d4009c-15ea-4c2f-95f0-7a6f4a1a81ef" "3c4efae8-0a57-43b2-b6fd-c62f1f33da28"
 [5] "3cab7c8c-eb2c-4fa3-8585-647411499927" "4acf525e-207d-4850-a0bb-ba231c7eb69e"
 [7] "5c480d48-8117-48f1-b6d4-c8b420769a43" "5ffa9f1e-0773-486e-ad5b-08f93e90c02c"
 [9] "6d79240b-0e19-4f53-9f8e-cb0141cf43a9" "7da0998c-2cd9-4c22-bf95-0f78f4a0c6dc"
[11] "961d7780-4e63-4901-85d7-7707e7c372fe" "abb7228e-61c4-4e61-9852-6cd1d6f1486f"
[13] "ce1af3d1-6e2b-4615-87e6-9083e4babdf9" "d13061a4-f0c4-4797-8842-62ac30e8f1fb"或者也可以显示路径(我这里用了Rproj,定位在rawdata所在的位置
dir("rawdata/",full.names = T)
 [1] "rawdata/001fe63b-06c8-4ca1-861a-3d1dd0fdf5fc" "rawdata/298e02ea-bc72-48a5-8bfa-af556b7f7487"
 [3] "rawdata/35d4009c-15ea-4c2f-95f0-7a6f4a1a81ef" "rawdata/3c4efae8-0a57-43b2-b6fd-c62f1f33da28"
 [5] "rawdata/3cab7c8c-eb2c-4fa3-8585-647411499927" "rawdata/4acf525e-207d-4850-a0bb-ba231c7eb69e"
 [7] "rawdata/5c480d48-8117-48f1-b6d4-c8b420769a43" "rawdata/5ffa9f1e-0773-486e-ad5b-08f93e90c02c"
 [9] "rawdata/6d79240b-0e19-4f53-9f8e-cb0141cf43a9" "rawdata/7da0998c-2cd9-4c22-bf95-0f78f4a0c6dc"
[11] "rawdata/961d7780-4e63-4901-85d7-7707e7c372fe" "rawdata/abb7228e-61c4-4e61-9852-6cd1d6f1486f"
[13] "rawdata/ce1af3d1-6e2b-4615-87e6-9083e4babdf9" "rawdata/d13061a4-f0c4-4797-8842-62ac30e8f1fb"使用pattern参数可以选择特定类型后缀
    2.list.files()
   
list.files("rawdata/")
 [1] "001fe63b-06c8-4ca1-861a-3d1dd0fdf5fc" "298e02ea-bc72-48a5-8bfa-af556b7f7487"
 [3] "35d4009c-15ea-4c2f-95f0-7a6f4a1a81ef" "3c4efae8-0a57-43b2-b6fd-c62f1f33da28"
 [5] "3cab7c8c-eb2c-4fa3-8585-647411499927" "4acf525e-207d-4850-a0bb-ba231c7eb69e"
 [7] "5c480d48-8117-48f1-b6d4-c8b420769a43" "5ffa9f1e-0773-486e-ad5b-08f93e90c02c"
 [9] "6d79240b-0e19-4f53-9f8e-cb0141cf43a9" "7da0998c-2cd9-4c22-bf95-0f78f4a0c6dc"
[11] "961d7780-4e63-4901-85d7-7707e7c372fe" "abb7228e-61c4-4e61-9852-6cd1d6f1486f"
[13] "ce1af3d1-6e2b-4615-87e6-9083e4babdf9" "d13061a4-f0c4-4797-8842-62ac30e8f1fb"可以看到和dir()的操作差不多
list.files("rawdata/",full.names = T)
 [1] "rawdata/001fe63b-06c8-4ca1-861a-3d1dd0fdf5fc" "rawdata/298e02ea-bc72-48a5-8bfa-af556b7f7487"
 [3] "rawdata/35d4009c-15ea-4c2f-95f0-7a6f4a1a81ef" "rawdata/3c4efae8-0a57-43b2-b6fd-c62f1f33da28"
 [5] "rawdata/3cab7c8c-eb2c-4fa3-8585-647411499927" "rawdata/4acf525e-207d-4850-a0bb-ba231c7eb69e"
 [7] "rawdata/5c480d48-8117-48f1-b6d4-c8b420769a43" "rawdata/5ffa9f1e-0773-486e-ad5b-08f93e90c02c"
 [9] "rawdata/6d79240b-0e19-4f53-9f8e-cb0141cf43a9" "rawdata/7da0998c-2cd9-4c22-bf95-0f78f4a0c6dc"
[11] "rawdata/961d7780-4e63-4901-85d7-7707e7c372fe" "rawdata/abb7228e-61c4-4e61-9852-6cd1d6f1486f"
[13] "rawdata/ce1af3d1-6e2b-4615-87e6-9083e4babdf9" "rawdata/d13061a4-f0c4-4797-8842-62ac30e8f1fb"
    3.dir_ls()
   
属于fs包,直接使用常常报错,最好fs::dir_ls()
有颜色,便于区分不同的文件
     
   
显示出子文件
     
   
    4.整理文件下的内容 ***重要***
   
R语言中批量复制需要的文件到指定文件夹下
涉及到
    ①获得包含特定字符串的文件
   
    ②获得文件绝对路径
   
    ③将文件粘贴至另一个文件夹
   
for (dirname in dir("rawdata/")){  
  ## 1.要查看的单个文件夹的绝对路径
  mydir <- paste0(getwd(),"/rawdata/",dirname)
  ## 2.找到对应文件夹中的文件并提取名称,pattern表示模式,可以是正则表达式
  file <- list.files(mydir,pattern = "*.counts")
  ## 3.当前文件的绝对路径是
  myfile <- paste0(mydir,"/",file)
  ## 4.复制这个文件到目的文件夹
  file.copy(myfile,"data_in_one")  
}
    ④文件夹下的文件可能和表格中的文件排序不一致
   
例如:
     
   
     
   
需要按照文件夹中的顺序,重排dataframe中文件名顺序–方便一一对应
### 存储文件读入的顺序
files <- dir("data_in_one")
### 行排序
### 为了把文件名称和TCGA_id对应起来
rownames(metadata_id) <- metadata_id[,1]
metadata_id <- metadata_id[files,] 
版权声明:本文为m0_58549466原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
