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”的字符串中无法识别的转义

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

4

5 回答 5

52

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

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

于 2012-10-02T18:17:05.803 回答
19

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

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

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

于 2012-10-02T18:28:00.363 回答
8

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

file.path('c:', 'xxx', 'classes', 'R_prog','specdata', 'data.csv')
## [1] "c:/xxx/classes/R_prog/specdata/data.csv"
于 2012-10-02T23:12:03.473 回答
3

你需要逃避你的反斜杠。尝试将它们加倍:c:\\xxx\\classes\\R_Prog\\ 等。

于 2012-10-02T18:16:47.127 回答
-3

我发现这两个 \ (转义)

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

和 / 解决方案的工作:

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

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

于 2015-04-06T17:40:12.383 回答