我正在运行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”开始的字符串中无法识别的转义
我的目录结构/文件夹命名约定是否有问题?
答案 0 :(得分:30)
你必须逃避\
,因为它本身就是一个转义字符。
read.table('C:\\xxx\\classes\\R_Prog\\specdata\\data.csv') head(data) }
答案 1 :(得分:15)
由于没有人提出正斜线,请允许我这样做:
R> list.files("C:/opt", pattern="R")
[1] "R-current" "R-library" "R-local215" "RStudio" "Rtools"
R>
我发现正向斜线“更容易”,因为它使操作系统中的路径更加一致,您也不需要逃避它们。这意味着每次都保存一个完整的字节。开心辞典。
答案 2 :(得分:6)
还没有人建议file.path
。这将使用特定于平台的分隔符将字符串连接在一起以形成文件路径(在Windows上默认为/
)
file.path('c:', 'xxx', 'classes', 'R_prog','specdata', 'data.csv')
## [1] "c:/xxx/classes/R_prog/specdata/data.csv"
答案 3 :(得分:2)
你需要逃避你的反斜杠。尝试加倍他们:c:\\ xxx \\ classes \\ R_Prog \\ etc。
答案 4 :(得分:-2)
我发现两者都是\(逃避)
C:\\xxx\\classes\\R_Prog\\specdata\\data.csv
和/ solutions工作:
C:/xxx/classes/R_prog/specdata/data.csv
我个人觉得使用后者更容易。