1.3.2 学会使用搜索引擎
如果使用帮助文档不能很好地解决疑问,那么搜索引擎将是接下来的不二之选。以谷歌为例,它的搜索能力强大,定位精准,不仅可以完美捕捉R社区里的相关解答,还会搜寻出其他各类形式、各种来源的辅助学习材料,让我们有机会深入了解问题的来龙去脉,而不仅仅是获得一个答案。下面就以两个最常见的情景为例,来看看遇到“疑难杂症”时如何使用谷歌进行搜索。
1.遭遇bug
read.csv( )是一个可以用来读入csv格式数据的函数,它的基本用法是read.csv file header=TRUE ,其中参数file用来输入要读入的文件名,header用来告诉电脑是否把读入文件的第一行识别为变量名,而不是数据。
比如,你想读入一张存有“全国各省份与东西部地区对应数据”的表格,于是使用read.csv( ),结果却出现了这样的错误(见图1-38)。
面对这样的错误,不妨直接求助谷歌。首先,把这个错误提示粘贴在搜索框内,前面加上R,很多时候,这样就会得到还不错的搜索结果(见图1-39)。
只看前几条返回结果,就可以知道出现错误的原因大概与中英文的编码有关。事实上,如果点开第一条链接,里面就有中英文编码的知识以及类似问题的解决办法,即改变整个文件的编码格式,也就是在read.csv函数中,将参数fileEncoding设置为能够读取汉语的编码方式,比如“GBK”,再一试,完美解决(见图1-40)。
当然,如果提取出该错误信息的英文关键词,也可以同样搜索到相关档案(见图1- 41)。
总的来说,在搜索结果中,排名靠前的网站往往都是前面介绍过的R社区,但又不局限于这些,我们可以一一翻看这些不同介绍来了解问题的全貌。
【友情提示】
在使用搜索引擎时能用英文查询就尽量用英文,毕竟很多领域,英文资料远比中文的丰富得多。比如,检索“探索性数据分析”,可以分别输入“探索性数据分析”和“Exploratory Data Analysis”,会得到如图1-42和图1-43的搜索结果。
从数量上比,中文返回200多万条记录,而英文返回1 200多万条记录;从质量上看,中文返回结果的前几页大多是零散的相关主题的介绍性文章,甚至是书籍链接,做了解用可以,但要深入学习恐怕就远远不够了,而英文返回的资料丰富得多,有很多课程链接,甚至前几个网页点进去都是可以系统学习这个主题的ebook,比如图1-44所展示的ebook示意图。
2.想要寻找新功能
除了遇到bug时可以求助谷歌,当你想要寻找新功能、实现新方法,却不知从何着手时,谷歌也是一个绝好的帮手。举例来说,如果你手头有一个含大量数据的csv,但普通的read.csv( )函数太慢,影响效率,那么可以通过谷歌搜索看能否有办法加快读入数据的速度(见图1-45)。
从图1-45可以看出,排名靠前的搜索结果均来自R-bloggers,Stack Overflow,CRAN官网这类较权威的地方,它们提供了很多提高效率的方法。不妨打开其中的StackOverflow网站一探究竟。从图1-46可以看到,热心网友已经给出了全面专业的解答,不仅有R包,还有对应函数。