随着互联网、大数据、人工智能等技术的发展,科学技术已经不再只是人类社会的生活背景,而是真正关系到人类整体的生存与发展。多学科相结合、以各学科的视角和专业背景促成人类的自由与科学的发展,是科研工作者在当今时代最重要的研究论题,这反映在人文社会科学领域,正是“哲学社会科学”。
如果说自然科学的使命是研究和预测宇宙,那么哲学社会科学则是研究和预测人类社会。如今“计算范式”已经开始引发社会科学领域的科学范式革命,社会科学的实证研究已经形成“计算范式”与“计量范式”并驾齐驱的格局。
在这样的时代与科研背景下,近些年“人人都要学编程”“人人都要会数据统计”在人文社会科学领域显得越来越重要。由于具有开源、强大的网络扩展功能,广泛的社区支持,强大的数据处理/统计分析和可视化功能,R语言和Python语言俨然已成为当前人文社会科学领域的师生们必须掌握的学习和科研工具。该如何选择这些软件工具?如何真正地高效学习编程语言?如何以最简单但又最标准、最正确的姿态选择和学习一门网络编程语言?这些对人文社会科学领域的师生们来说并不是一件简单的事情。
笔者由于跨学科的背景:十年从事计算机领域的教学与开发工作,转型并进入深圳大学新闻与传播学院(人文社会科学领域)任教,在梳理人文社科、自然哲学的脉络关系中得到了“让世界在内心中逐渐合理起来”的哲学愉悦;为满足教学科研的需要,现将“十年来对计算机编程语言教与学的方法”和“对人文社科、自然哲学的统一观察”一并写成《新媒体数据挖掘——基于R语言》,作为这些年来工作与学习的总结。
《新媒体数据挖掘——基于R语言》的全部章节安排如下:
第1章首先从计算社会科学、计算传播学在国内学术圈中的兴起入题,介绍R语言的诞生、功能和在科研工作中的作用,对比几种科研工具的优缺点,并强调“R是一种自带编程环境的统计软件,Python是一种自带统计功能的编程语言”,以供读者做出符合自己实际情况的正确选择。
第2章以R为选择对象,先引入R的核心软件RGui,然后介绍R的综合IDE开发环境RStudio的下载、安装和基本使用。
第3章和第4章本着“程序=数据+代码”的宏观架构,本着将“编程语言作为语言来学习”的核心主线,选择大家熟悉的英语语法为参照物,对R语言的语法进行平缓、细致、精确的讲解,让读者能够真正掌握一种学习任何编程语言的“万能通用方法”:英语被称为动词的语言,名词(相当于数据类型)和以动词(相当于运算符)为核心的谓语构成简单句(相当于表达式语句),为表达更复杂的逻辑,英语语法又扩充出了并列句、复合句等语法结构(相当于流程控制)。读者会发现,几乎所有计算机语言的图书,其前几章必然是“数据类型”“运算符”“流程控制”,这其实就是《新媒体数据挖掘——基于R语言》提出的“编程语言通用学习主线”;主线之外其他语法项目无外乎锦上添花,例如函数是为了提高代码复用率,软件包是为了引入第三方扩充。
第5章至第8章分别讲述如何用R的核心功能包和扩展功能包实现可视化绘图、互联网数据采集、文本挖掘与情感分析、社会网络分析等功能,这些内容不仅非常有趣,而且非常有应用和科研意义。
第9章引入一个案例学习社交编程平台GitHub,不仅加深对第6章中网络数据采集的学习和应用,还可结合附录中的R软件包的制作、发布与引入方法,真正认识到GitHub作为社交编程平台的重要性和意义:程序员世界的重建巴别塔。
在《新媒体数据挖掘——基于R语言》的编写分工上,深圳大学传播学院网络与新媒体系的王小峰老师负责全书的规划、主编与统稿,并参与撰写了第1、第3、第4、第6、第9章;福建师范大学福清分校电子与信息工程学院的方捷老师撰写了第2、第5、第7、第8章和全部附录内容。
由于时间仓促、作者水平有限,《新媒体数据挖掘——基于R语言》难免存在遗漏与不足,编者敬请读者批评与指正,我们将会在后续的工作中不断地调整、改进。
深圳大学 王小峰
2017年10月30日夜
于深圳市福田区安托山