【问题标题】:R doesn't see a file that exists on a diskR 看不到磁盘上存在的文件
【发布时间】:2015-10-13 00:21:29
【问题描述】:

我正在尝试将文件读入我磁盘上的 R - list.files 函数可以看到他,但 file.existsread.table 没有...

可能是什么原因导致 R 看不到某些文件并因此无法读取它们?

代码和错误如下:

> list.files(x)
[1] "ACC.rnaseqv2__illuminahiseq_rnaseqv2__unc_edu__Level_3__RSEM_genes_normalized__data.data.txt"
[2] "MANIFEST.txt"                                                                                
> list.files(x)[1]
[1] "ACC.rnaseqv2__illuminahiseq_rnaseqv2__unc_edu__Level_3__RSEM_genes_normalized__data.data.txt"
> file.exists(paste0(x,list.files(x)[1]))
[1] FALSE
> x
[1] "D:/GitHub/RTCGA.data/RTCGA.rnaseq/data2/gdac.broadinstitute.org_ACC.Merge_rnaseqv2__illuminahiseq_rnaseqv2__unc_edu__Level_3__RSEM_genes_normalized__data.Level_3.2015060100.0.0/"
> read.table(paste0(x,list.files(x)[1])) -> y
Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
  cannot open file 'D:/GitHub/RTCGA.data/RTCGA.rnaseq/data2/gdac.broadinstitute.org_ACC.Merge_rnaseqv2__illuminahiseq_rnaseqv2__unc_edu__Level_3__RSEM_genes_normalized__data.Level_3.2015060100.0.0/ACC.rnaseqv2__illuminahiseq_rnaseqv2__unc_edu__Level_3__RSEM_genes_normalized__data.data.txt': No such file or directory

【问题讨论】:

  • 可以读取目录并不意味着可以打开文件。您是否导航到该文件并确定权限?确保每个人都可以读写
  • 你在linux吗?也许更改文件的权限:sudo chmod 755 ACC.rnaseqv2__illuminahiseq_rnaseqv2__unc_edu__Level_3__RSEM_genes_normalized__data.data.txt
  • 感谢您的回答。你说的对。那 file.exists 返回 FALSE 呢?这可能是一个问题,或者文件以某种方式位于与我目前正在处理的不同的分支上 - 但是为什么列表文件有效?
  • 在 Windows 上工作。
  • 不必。我提供完整的目录。

标签: r read.table


【解决方案1】:

Windows 中有一些 API 限制为 255 个字符的路径。例如。见Has Windows 7 Fixed the 255 Character File Path Limit?

您的总路径长度为 269 个字符。我会认为这是问题所在。我会重命名文件夹、文件或两者。或者我猜你可以改变操作系统,但这似乎更难! (请注意,我无法选择使用 Windows 作为我的主要操作系统,但我确实发现它的一些限制有时令人沮丧,特别是对于像 R 这样的跨平台工具。)

【讨论】:

    猜你喜欢
    • 2016-03-06
    • 2016-06-03
    • 2020-01-31
    • 2019-08-28
    • 2013-12-26
    • 2018-09-14
    • 2017-02-07
    • 1970-01-01
    相关资源
    最近更新 更多