各位大神,你们好!
我是一个Rmarkdown的初学者,现在我在Rmarkdown里面写的每一个命令,执行以后都会跳出一个警告:
Warning message:
In strsplit(code, "\n", fixed = TRUE) :
input string 1 is invalid in this locale
命令确实也执行了,但每次都跳出这个来真的很难受。
我搜了一下,这个人跟我遇到的问题一样:https://stackoverflow.com/questions/43833096/r-warning-message-in-strsplitcode-n-fixed-true-input-string-1-is-i
但是没有解决方案,之后我又搜到这个人也遇到了这个问题:
http://oiltang.com/2017/08/14/r-language-warning-message/?nsukey=SKwwkOVnGGrORfntgEhWVbh9OKLyx4J2X9TcEDmwSoY32FxFTWKlgEzAANrYAdt3kE0htSt0iG3P1AN2FqhvhPt2FZVkuA0C7Q8e2BYRp4Rk2lUsVSR6CEgNULOvidJOoFo7iBiHVIYhXYt3fz2a6hwtoQlU2T2WIk90XbWtUrn2ZeT7wO5FoPv045BxfijW437l78UCtc0IA2BpXtsyXX2Igtg3D3D
他的解决方案(https://stackoverflow.com/questions/41717781/warning-input-string-not-available-in-this-locale)是每次打开R的时候把这个命令运行一下:
> Sys.setlocale('LC_ALL','C')
[1] "C"
我试了一下,用这个命令确实可以让那个警告不再跳出,但却出现了一个更大的问题,那就是我的命令里不能有中文了。比如这个命令原来可以正常运行:
> address2 <- "1.待导入/11·29result.xlsx"
但现在我在右上角的Global Environment里面看到address2是:
"1.<U+5F85><U+5BFC><U+5165>/11<U+00B7>29result.xlsx"
所以读取这个地址也就失败了:
> data1 <- readxl::read_excel(address2)
Error in read_fun(path = path, sheet = sheet, limits = limits, shim = shim, :
Evaluation error: zip file '1.寰呭鍏?11路29result.xlsx' cannot be opened.
类似的解决方案还有这句:
> Sys.setlocale(category='LC_ALL', locale='English_United States.1252')
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
也是一样的问题。
所以,在Rmarkdown中有没有两全的方法,既可以保留语句中的中文,又能让警告信息不跳出呢?
我看好像用mac的同学没有遇到这个问题。
期待各路大神的解答?