Non-english special characters in knitr
我正在使用knitr 1.1。在R 3.0.0和WinEdt(RWinEdt 2.0)中。我在编织器识别瑞典字符(?,?,?)时遇到问题。 R对这不是问题;这些字符甚至可以在文件名,目录名,对象等中识别。在Sweave中,这也不是问题。
我的文档中已经有
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Warning in remind_sweave(if (in.file) input) : It seems you are using the Sweave-specific syntax; you may need Sweave2knitr("deskriptiv 130409.Rnw") to convert it to knitr processing file: deskriptiv 130409.Rnw (*) NOTE: I saw chunk options"label=l?¤ser_in_data" please go to http://yihui.name/knitr/options (it is likely that you forgot to quote"character" options) Error in parse(text = str_c("alist(", quote_label(params),")"), srcfile = NULL) : 1:15: unexpected input 1: alist(label=l?¤ ^ Calls: knit ... parse_params -> withCallingHandlers -> eval -> parse Execution halted |
它抱怨的特定标签是label = l?ser。更改标签是不够的,因为knitr甚至会抱怨R对象是否使用???。
我使用了Sweave2knitr(),因为该文件最初是为Sweave创建的,但结果并不好:现在全部使用???已在R块和乳胶文本中将其转换为?¤p?¥ ??,并且knitr仍然给出错误消息。
会话信息:
1 2 3 4 5 6 7 8 9 10 11 12 | R version 3.0.0 (2013-04-03) Platform: i386-w64-mingw32/i386 (32-bit) locale: [1] LC_COLLATE=Swedish_Sweden.1252 LC_CTYPE=Swedish_Sweden.1252 LC_MONETARY=Swedish_Sweden.1252 [4] LC_NUMERIC=C LC_TIME=Swedish_Sweden.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] knitr_1.1 loaded via a namespace (and not attached): [1] digest_0.6.3 evaluate_0.4.3 formatR_0.7 stringr_0.6.2 tools_3.0.0 |
正如我提到的,文件名和对象都带有瑞典语字符(因为以前没有问题),并且文本也必须使用瑞典语。
感谢您为使Knitr以外于英语工作而提供的任何帮助。
我认为如果您使用此模式调用
这里混有几个问题,不可能一口气解决所有问题。
第一个问题是
我认为这里的真正问题是文件编码(在Windows下很讨厌)。您似乎在默认情况下不遵守
两个建议:
顺便说一句,由于弹出了
如果对
R-Sweave通过
按照Yihui的建议,您可以尝试将此命令替换为
1 | res <- knit(filename, encoding = 'UTF-8') |
-Sweave
oaming\\WinEdt Team\\WinEdt 7"
当前,我不知道如何避免将编码作为参数来避免这种硬编码解决方案。
我建议避免在文件名中使用扩展字符,这只能是问题的根源。就我个人而言,我从未使用过此类名称。