我在Windows上运行R,并且在桌面上有一个csv文件。我将其加载如下
x<-read.csv("C:\Users\surfcat\Desktop\2006_dissimilarity.csv",header=TRUE)
但是R给出以下错误信息
错误:字符串“ C:\ U”中未使用十六进制数字的'\ U'
那么加载此文件的正确方法是什么。我正在使用Vista
Answers:
更换所有\
有\\
。
它试图在这种情况下转义下一个字符,U
因此要插入a \
,需要插入转义\
的\\
请不要将此响应标记为正确,因为smitec已正确回答。我在.First库中包含一个便利函数,该函数使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)
}
WP
(Windows路径)。
解
试试这个: x <- read.csv("C:/Users/surfcat/Desktop/2006_dissimilarity.csv", header=TRUE)
说明
R无法正确理解正常的Windows路径,因为R"\"
具有特殊含义-用作转义字符以赋予后续字符特殊含义(\n
对于换行符,\t
制表符,\r
回车符,...,请看这里)。
因为R不知道\U
它抱怨的顺序。只需更换"\"
用"/"
,也可以附加 "\"
逃脱 "\"
从它的特殊意义,一切运作顺利。
另类
在Windows上,我认为使用R中Windows特定路径来改善工作流程的最佳方法是使用例如AutoHotkey,它允许自定义热键:
AutoHotkey代码段 (链接到主页)
^+v::
StringReplace, clipboard, clipboard, \, /, All
SendInput, %clipboard%
我的解决方案是按如下方式定义RStudio代码段:
snippet pp
"`r gsub("\\\\", "\\\\\\\\\\\\\\\\", readClipboard())`"
此代码段将反斜杠转换\
为双反斜杠\\
。如果您希望将反斜杠转换为正斜杠,则可以使用以下版本/
。
snippet pp
"`r gsub("\\\\", "/", readClipboard())`"
一旦你的优选的片段被定义,从通过打字剪贴板粘贴路径p- - p- TAB(ENTER即PP和然后tab键,然后输入)和路径将被R友好定界符神奇地插入。
如果txt文件包含用于文本挖掘的数据(语音,新闻通讯等),则解决此问题的最佳方法是将“ \”替换为“ /”。
例:
file<-Corpus(DirSource("C:/Users/PRATEEK/Desktop/training tool/Text Analytics/text_file_main"))
我知道这确实很老,但是如果您仍然要复制和粘贴,则可以使用:
read.csv(readClipboard())
readClipboard()为您转义了反斜杠。只要记住确保副本中包含“ .csv”,也许可以这样做:
read.csv(paste0(readClipboard(),'.csv'))
如果您真的想最小化键入,可以使用一些功能:
setWD <- function(){
setwd(readClipboard())
}
readCSV <- function(){
return(readr::read_csv(paste0(readClipboard(),'.csv')))
}
#copy directory path
setWD()
#copy file name
df <- readCSV()
我认为R正在读取字符串中的'\'作为转义字符。例如,\ n在字符串中创建新行,\ t在字符串中创建新标签。
'\'将起作用,因为R会将其识别为正常的反斜杠。
readClipboard()
也可以直接工作。将路径复制到剪贴板
C:\Users\surfcat\Desktop\2006_dissimilarity.csv
然后
readClipboard()
显示为
[1] "C:\\Users\\surfcat\\Desktop\\2006_dissimilarity.csv"