我有一个带有参数的函数,该参数是文件的链接。我的问题是,即使我指定我想在这里有一个字符串,它的一部分似乎被认为是一个日期。这导致我的字符串的一部分被“t-”替换。我该如何防止这种情况发生?
smfunc <- function(link=as.character("T:\11-10-2017 - Folder\filename.csv"))
{
link
}
smfunc()
[1] "T:\t-10-2017 - Folder\filename.csv"
答案 0 :(得分:2)
如何防止这种情况发生?
简单:这不会发生(这会很糟糕)。问题不同:you forgot to escape the backslashes:
smfunc = function (link = "T:\\11-10-2017 - Folder\\filename.csv") {
link
}
如果没有转义的反斜杠,'\11'
将被解释为数字字符代码(值为11 oct = 9 dec ,这相当于制表符'\t'
)。
'\f'
是一个等同于“换页”字符的有效转义序列。这不与'\\f'
相同,即字面反斜杠后跟“f”,这就是你需要的。
顺便说一句,使用as.character
在这里是多余的:你的值已经是一个字符向量。