use*_*850 84 r filepath backslash path-separator
我在Windows上运行R,并在桌面上有一个csv文件.我加载如下,
x<-read.csv("C:\Users\surfcat\Desktop\2006_dissimilarity.csv",header=TRUE)
Run Code Online (Sandbox Code Playgroud)
但R给出以下错误消息
错误:'\ U'在没有以十六进制数字开头的字符串中使用"C:\ U"
那么加载这个文件的正确方法是什么.我正在使用Vista
Tyl*_*ker 27
请不要将此响应标记为正确,因为smitec已正确回答.我在我的第一个库中包含了一个便利函数,它将windows路径转换为在R中工作的格式(Sacha Epskamp描述的方法).只需将路径复制到剪贴板(ctrl + c),然后运行该功能pathPrep()
.不需要争论.路径正确打印到控制台并写入剪贴板,以便轻松粘贴到脚本.希望这是有帮助的.
pathPrep <- function(path = "clipboard") {
y <- if (path == "clipboard") {
readClipboard()
} else {
cat("Please enter the path:\n\n")
readline()
}
x <- chartr("\\", "/", y)
writeClipboard(x)
return(x)
}
Run Code Online (Sandbox Code Playgroud)
解
试试这个: x <- read.csv("C:/Users/surfcat/Desktop/2006_dissimilarity.csv", header=TRUE)
说明
R无法正确理解正常的Windows路径,因为它"\"
具有特殊含义 - 它用作转义字符,以赋予以下字符特殊含义(\n
对于换行符,\t
对于制表符,\r
对于回车符,...,请查看此处).
因为R不知道\U
它抱怨的顺序.只需更换"\"
用"/"
,也可以附加 "\"
逃脱 "\"
从它的特殊意义,一切运作顺利.
替代
在Windows上,我认为在R中使用Windows特定路径改善工作流程的最佳方法是使用AutoHotkey,它允许自定义热键:
AutoHotkey Code Snippet (链接到主页)
^+v::
StringReplace, clipboard, clipboard, \, /, All
SendInput, %clipboard%
Run Code Online (Sandbox Code Playgroud)
我的解决方案是定义一个RStudio 片段,如下所示:
snippet pp
"`r gsub("\\\\", "\\\\\\\\\\\\\\\\", readClipboard())`"
Run Code Online (Sandbox Code Playgroud)
此代码段将反斜杠转换\
为双反斜杠\\
。如果您更喜欢将反斜杠转换为正斜杠,以下版本将适用/
。
snippet pp
"`r gsub("\\\\", "/", readClipboard())`"
Run Code Online (Sandbox Code Playgroud)
定义了首选代码段后,通过键入p- p- TAB- ENTER(即 pp 然后按 Tab 键然后输入)从剪贴板粘贴路径,该路径将神奇地插入 R 友好分隔符。
归档时间: |
|
查看次数: |
204827 次 |
最近记录: |