导入时R功能不起作用

时间:2017-09-04 09:50:52

标签: r import

我正在写一些关于我想在jupyter笔记本或Rstudio上使用的sublime文本的函数。 该功能在Sublime上工作正常,但在jupyter或Rstudio中的输出效果不佳。

功能:

normalize <- function(str, tobereplaced = c('à','â','ä'), replacements = c('a','a','a') ){
        for (i in 1:length(tobereplaced)){
            str <- gsub( tobereplaced[i], replacements[i], str)
        }
        return(str)
    }

执行时:

normalize("àâä")

输出崇高:

Warning message:
Warning messages:
[1] "aaa"
[Finished in 0.6s]

输出jupyter&amp; Rstudio:

'àâä'

有人可以帮忙吗? (我导入了包含source())函数的R文件

编辑:仅在导入包含该功能的R文件时才会出现此问题。当我在本地定义函数时,它确实可以正常工作。

2 个答案:

答案 0 :(得分:0)

> normalize <- function(str, tobereplaced = c('à','â','ä'), replacements = c('a','a','a') ){
+   for (i in 1:length(tobereplaced)){
+     str <- gsub( tobereplaced[i], replacements[i], str)
+   }
+   return(str)
+ }
> normalize("àâä")
[1] "aaa"
> 

我在Rstudio版本1.0.153中运行了你的代码,它工作得很好......

答案 1 :(得分:0)

解决:问题是由于jupyter笔记本的编码。

解决此问题的一种方法是执行以下操作:

source("file.R", encoding = "UTF-8" )

感谢大家的帮助