我正在写一些关于我想在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文件时才会出现此问题。当我在本地定义函数时,它确实可以正常工作。
答案 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" )
感谢大家的帮助