R 仅当运行整个代码块时出错

R 仅当运行整个代码块时出错,r,syntax-error,R,Syntax Error,我下载了数据集附带的代码。此代码用于将因子变量转换为数值。当我单独运行每一行时,它工作正常,但如果我试图突出显示整个部分,则会出现以下错误: 错误:在 对于每一行代码,它都会给我这个错误,但是如果我单独运行每一行,那么它就可以正常工作。我以前从未遇到过这种情况。发生什么事??谢谢 以下是我正在尝试运行的代码: library(prettyR) lbls <- sort(levels(DF$myVar)) lbls <- (sub("^\\([0-9]+\\) +(.+$)", "\\

我下载了数据集附带的代码。此代码用于将因子变量转换为数值。当我单独运行每一行时,它工作正常,但如果我试图突出显示整个部分,则会出现以下错误:

错误:在

对于每一行代码,它都会给我这个错误,但是如果我单独运行每一行,那么它就可以正常工作。我以前从未遇到过这种情况。发生什么事??谢谢

以下是我正在尝试运行的代码:

library(prettyR)
lbls <- sort(levels(DF$myVar))
lbls <- (sub("^\\([0-9]+\\) +(.+$)", "\\1", lbls))
DF$myVar <- as.numeric(sub("^\\(0*([0-9]+)\\).+$", "\\1", DF$myVar))
DF$myVar <- add.value.labels(DF$myVar, lbls)
库(prettyR)
lbls我发现了问题(实际上有人告诉我问题是什么)

代码以.R文件的形式下载,必须使用带有非标准“新行”编码的文本编辑器编写。所以我只是将代码复制到一个文本编辑器中,并替换了所有代码以将“\n”切换到 "#####". 然后我再次使用replaceall切换回新行,并将其复制回R studio


一切正常

为什么要对因子级别进行排序?这样做似乎无关紧要。如果没有数据来测试,很难判断。该错误实际上准确地说是
错误:在…
中意外输入?请发布dput(head(DF))的结果
,我不确定为什么要对因子级别进行排序。这只是数据集附带的代码,除了尝试同时运行多行代码外,它似乎工作正常。这不是一个大问题,因为我可以分别运行每一行,但它出现这个问题对我来说似乎很奇怪。我对“power”字符有类似的问题。我将其剪切粘贴到另一个编辑器中,然后在重新启动后返回RStudio,这样就消除了问题:我的^字符是通过在键盘上按两次死键获得的,因此可能会以某种方式附加一些不可见字符,并且与不可见换行符类似,干扰了。(但是请注意,我以前使用过无数次“^”这个字符,没有出现任何问题,因此仍然有一部分神秘存在)。
> library(prettyR)
"rror: unexpected input in "library(prettyR)
> lbls <- sort(levels(DF$myVar))
"rror: unexpected input in "lbls <- sort(levels(DF$myVar))
> lbls <- (sub("^\\([0-9]+\\) +(.+$)", "\\1", lbls))
"rror: unexpected input in "lbls <- (sub("^\\([0-9]+\\) +(.+$)", "\\1", lbls))
> surv.df$myVar <- as.numeric(sub("^\\(0*([0-9]+)\\).+$", "\\1", DF$myVar))
"rror: unexpected input in "DF$myVar <- as.numeric(sub("^\\(0*([0-9]+)\\).+$", "\\1",DF$myVar))
> surv.df$BATTLEGROUND <- add.value.labels(DF$myVar, lbls)
Error in add.value.labels(surv.df$myVar, lbls) : 
object 'lbls' not found