【问题标题】:Error: '\R' is an unrecognized escape in character string starting "C:\R"错误:“\R”是开头“C:\R”的字符串中无法识别的转义
【发布时间】:2012-09-23 15:16:31
【问题描述】:

我正在运行 Windows XP Pro 并且 R 版本 2.15.1 R 安装在以下文件夹中:

C:\Program Files\R\R-2.15.1

我正在尝试创建一个读取 .csv 文件的函数,如下所示:

xxx <- function(id, directory, summarize = FALSE) {
    data <- read.table('C:\xxx\classes\R_Prog\specdata\data.csv')
    head(data)
}

我得到了错误

错误:“\R”是从“C:\R”开始的字符串中无法识别的转义

我的目录结构/文件夹命名约定有问题吗?

【问题讨论】:

    标签: r


    【解决方案1】:

    您需要转义反斜杠。尝试将它们加倍:c:\\xxx\\classes\\R_Prog\\ 等。

    【讨论】:

      【解决方案2】:

      您必须转义 \,因为它本身就是一个转义字符。

      read.table('C:\\xxx\\classes\\R_Prog\\specdata\\data.csv') head(data) }

      【讨论】:

      • 谢谢@Jordan!很好的解决方案
      【解决方案3】:

      由于还没有人建议使用正斜杠,请允许我这样做:

      R> list.files("C:/opt", pattern="R")
      [1] "R-current"  "R-library"  "R-local215" "RStudio"    "Rtools"    
      R> 
      

      我发现正斜杠“更容易让人眼前一亮”,因为它使跨操作系统的路径更加一致,而且您也不需要转义它们。这意味着您每次都保存一个完整的字节。雅皮士。

      【讨论】:

        【解决方案4】:

        还没有人建议file.path。这将使用特定于平台的分隔符将字符串连接在一起以形成文件路径(默认为/在Windows上)

        file.path('c:', 'xxx', 'classes', 'R_prog','specdata', 'data.csv')
        ## [1] "c:/xxx/classes/R_prog/specdata/data.csv"
        

        【讨论】:

          【解决方案5】:

          我发现这两个 \ (转义)

          C:\\xxx\\classes\\R_Prog\\specdata\\data.csv
          

          并且 / 解决方案有效:

          C:/xxx/classes/R_prog/specdata/data.csv
          

          我个人觉得后者更容易使用。

          【讨论】:

          • 这个答案没有添加比其他答案已经给出的任何新信息。
          猜你喜欢
          • 2012-05-23
          • 2014-08-01
          • 1970-01-01
          • 2015-06-23
          • 2021-08-21
          • 2015-08-24
          • 2017-05-13
          • 2021-10-29
          • 2018-05-10
          相关资源
          最近更新 更多