Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

计算词频时不显示中文 #52

Open
OUYANGYiyi opened this issue Apr 21, 2017 · 15 comments
Open

计算词频时不显示中文 #52

OUYANGYiyi opened this issue Apr 21, 2017 · 15 comments

Comments

@OUYANGYiyi
Copy link

freq(wk[kexue])
char freq
1 <U+953B><U+70BC> 1
2 <U+591A><U+52A0> 1
3 <U+6709><U+6240> 1
4 <U+672C><U+9886> 1
5 <U+8FD9> 1
6 <U+4E4B> 1
7 <U+7ECF><U+6D4E><U+5B66><U+5BB6> 1
8 <U+7ED3><U+8BBA> 1
9 <U+559C><U+6076> 1
10 <U+4E00><U+8D77> 1

@qinwf
Copy link
Owner

qinwf commented Apr 21, 2017

有没有一段可以重复这个问题的代码?还有所用的是什么操作系统和 R 的版本?

@OUYANGYiyi
Copy link
Author

代码
library(jiebaR)
library(cidian)
wk = worker()
kexue <- scan(file = "./ceshi04211.txt", what = character(), sep = "\n", encoding = "UTF-8")
freq(wk[kexue])

操作系统: Edition: Windows 10 Home, version: 1607, system type: 64-bit os, x64-based processor
R version 3.3.3
Rtools34

Rstudio 的编码global options的code有改作UTF-8,当前系统语言是英文。

谢谢!

@qinwf
Copy link
Owner

qinwf commented Apr 21, 2017

我没有这个文件 ceshi04211.txt,无法重复这个错误。可以发出来一下。

@OUYANGYiyi
Copy link
Author

ceshi04211.txt 编码是utf-8,放在记事本里的。我上传不了文件,以下是内容(节选自张五常《科学说需求》第一章)。
我坐在书桌前,拿起笔来,想着人类在科学上的成就。科学是有系统地解释现象的学问,很有意思的。人为万物之灵,一点不错:我们脑子的发达,与其他生物相比,距离不可以道里计。感情的表达是艺术;理智的分析却是科学了。人的感情往往与理智混淆。这样,科学上的推断可能被感情左右,弄得拖泥带水,但也可以精彩绝伦,使人觉得妙不可言。是的,科学可以有艺术的美。
向美追寻是人之常情,所以科学也可以有艺术性,有艺术的美。但科学的本质可不是艺术,前者是以阐释现象为主旨的。另一方面,人到底是人,不能冷若冰霜,半点感情也没有。因此,说某篇科学文章是一件艺术作品,是恭维的话了。问题是,仅仅是美而不能解释现象,是美中的不足,失却了科学的功能。科学家既然是人,我们不能期望他们是人类的例外,毫无感情,但感情是不可以在科学上滥用的。原则简单:科学著作可以将客观分析与主观感情结合、并用,但二者要分清楚。只要能这样做,科学文字倒可以加上感情之辞,点缀一下,减少枯燥,增加其可读性。
以经济学来说,主观感情与客观分析的清楚划分是比较困难的。不是不能做到,而是比自然科学——如物理、化学等——困难。经济学是解释人类行为的科学。困难是,经济学者也是人,难免将自己的价值观混在一起,甚至以主观的喜恶作为科学上的结论。优秀的经济学家在分析时有“忘我”之能;这是一心二用的本领了。天生有所不逮者,要多加锻炼。

@qinwf
Copy link
Owner

qinwf commented Apr 21, 2017

可以传一个百度网盘链接或者选一个传临时文件的网站

https://www.file.io/
https://uploadfiles.io/

@OUYANGYiyi
Copy link
Author

https://file.io/lq25vY

@qinwf
Copy link
Owner

qinwf commented Apr 21, 2017

网址是 404.

@OUYANGYiyi
Copy link
Author

@qinwf
Copy link
Owner

qinwf commented Apr 21, 2017

test

如上图,输出的文本是正常的,我没有办法在 Windows R console 里重复这个上面提到的问题。你可以在 R console 里试试。可能是 RStudio 的 bug。

@qinwf
Copy link
Owner

qinwf commented Apr 21, 2017

2017-04-21 11 33 13

还有这个文件是用记事本保存的,文件包含 BOM,建议另存为没有 BOM 的文件,可以避免一些不必要的问题。

@OUYANGYiyi
Copy link
Author

image
我把文本复制到vs code保存为plain text. 然后在R console里运行,出现以上结果。
可以请教一下其他可能的原因吗?有没有可能是安装的时候缺失了什么包,或者哪里的编码需要设置一下。
谢谢!

@qinwf
Copy link
Owner

qinwf commented Apr 22, 2017

这是我的 sessionInfo(),你可以看看你的对应设置。

> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 14393)

locale:
[1] LC_COLLATE=Chinese (Simplified)_China.936 
[2] LC_CTYPE=Chinese (Simplified)_China.936   
[3] LC_MONETARY=Chinese (Simplified)_China.936
[4] LC_NUMERIC=C                              
[5] LC_TIME=Chinese (Simplified)_China.936    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] cidian_0.1    pbapply_1.3-0 stringi_1.1.2 jiebaR_0.9.1  jiebaRD_0.1  

loaded via a namespace (and not attached):
[1] parallel_3.3.2     tools_3.3.2        Rcpp_0.12.8        RcppProgress_0.2.1
> 

@OUYANGYiyi
Copy link
Author

谢谢!
我把系统语言改作中文默认,地区改作中国,重启电脑,词频函数的结果可以显示中文。
把系统语言改作英文,地区改作香港,词频函数的结果不显示中文。
这是结果截屏:http://pan.baidu.com/s/1o8v2yRw

@qinwf
Copy link
Owner

qinwf commented Apr 23, 2017

嗯嗯,可能是英文的 locale 无法对应显示对应的 unicode 中文,这是系统的问题,<U+953B> unicode 对应的刚好是中文的 锻

http://unicode.scarfboy.com/scrhwexfdavmzul.html?s=U%2B953B

@OUYANGYiyi
Copy link
Author

我想我可以大概明白原因了。。。
谢谢你的耐心解答!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants