第1章 为什么学习R语言 1
1.1 R是什么 2
1.1.1 R是一款优秀的现代科研软件 2
1.1.2 R的优势与不足 3
1.1.3 R和Python的区别 3
1.2计算社会科学的兴起——以计算传播学为例 4
1.2.1什么是计算社会科学 4
1.2.2计算传播学的起源和概念 7
1.3 R在计算传播学中的典型应用 9
1.3.1用R进行文本分析初探 9
1.3.2互联网在线数据收集 10
1.3.3社会网络分析 12
1.4总结与提高 13
1.5习题 14
第2章 R语言开发环境 15
2.1 R的获取、安装和基本使用 16
2.1.1 RGui的下载与安装 16
2.1.2 RGui的使用介绍 19
2.1.3示例:使用R Commander实现统计功能 21
2.1.4 R的内置数据集和扩展功能包 26
2.1.5 R的帮助系统 27
2.1.6 R的工作空间和工作目录 27
2.2 R的ODE开发环境——RStudio 27
2.2.1 RStudio的下载和安装 28
2.2.2 RStudio的最简标准操作 28
2.2.3 RStudio的工作界面 31
2.2.4 RStudio的用户自定义配置 32
2.3示例:我的第一个R项目“网页爬虫” 32
2.3.1组织项目需求 33
2.3.2新建项目环境 33
2.3.3编写应用程序代码并运行 34
2.3.4执行代码并根据实际结果修改和再次运行 35
2.4总结与提高 37
2.5习题 38
第3章 R语言基础——数据 39
3.1无障碍学习编程语言的两个诀窍 40
3.1.1从“哲学”的角度了解编程语言 40
3.1.2从“语言学”的角度学习编程语言语法 41
3.2 R的基本数据类型(数值、字符、逻辑) 42
3.2.1基本数据类型 42
3.2.2数据类型的两个属性:模式和长度 43
3.2.3两个特殊常量 44
3.3 R的复合数据类型 45
3.3.1向量 46
3.3.2矩阵 46
3.3.3数组 47
3.3.4数据框 48
3.3.5列表 49
3.3.6因子 51
3.3.7时间序列 52
3.4数据的导入和导出 54
3.4.1数据的导入 55
3.4.2数据的导出 59
3.5总结与提高 59
3.6习题 59
第4章 R语言基础——代码 61
4.1 R代码的基本单位:语句=数据+运算符; 62
4.1.1基本运算符 62
4.1.2表达式、语句、语句块 65
4.2 R的流程控制 66
4.2.1顺序结构 66
4.2.2选择/分支结构 67
4.2.3循环结构 70
4.3 R代码复用——函数和过程 73
4.3.1“模块化”编程思想与函数 73
4.3.2函数的定义与调用 75
4.3.3过程的定义与调用 76
4.4总结与提高 77
4.5习题 77
第5章 R绘图——数据可视化呈现 79
5.1概述 80
5.2 R的绘图函数 81
5.2.1图形窗口绘图操作函数(图形的创建和保存) 82
5.2.2 R图形参数 83
5.2.3高级绘图函数 86
5.2.4低级绘图函数 89
5.3常用的R可视化功能包 91
5.3.1 ggplot2功能包 91
5.3.2 rCharts功能包 93
5.3.3 plotly功能包 95
5.3.4 map功能包 96
5.4总结与提高 97
5.5习题 98
第6章 网络数据程序化采集 99
6.1网络数据的获取途径及相关基础知识 100
6.1.1 Web数据的获取途径 100
6.1.2 Web的结构与原理 101
6.2使用R收集Web数据 106
6.2.1获取静态Web内容 107
6.2.2网络数据的应用级API采集(以豆瓣为例) 109
6.2.3获取动态Web内容 111
6.3总结与提高 114
6.4习题 114
第7章 文本挖掘和情感分析 115
7.1 R环境下的文本挖掘 116
7.1.1中文分词 117
7.1.2分词包jiebaR的使用 118
7.1.3词云包wordcloud2的使用 127
7.2情感分析 129
7.2.1情感分析概述 129
7.2.2情感分析的简单实现 131
7.3总结与提高 133
7.4习题 133
第8章 社会网络分析 135
8.1网络社会与社会网络分析 136
8.1.1社会的构成 136
8.1.2网络社会与社会网络分析 137
8.1.3现代网络社会与社会网络分析 140
8.1.4网络与关系的描述 142
8.2社会网络分析的发展、意义和步骤 143
8.2.1社会网络分析的三个方向 143
8.2.2社会网络分析的几个主要步骤 144
8.2.3社会网络分析的几个重要指标 144
8.3社会网络分析的常用工具 146
8.3.1 NodeXL的使用 146
8.3.2 R的iGraph功能包 147
8.3.3 UCINET 149
8.4总结与提高 149
8.5习题 150
第9章 社交编程平台:GitHub 151
9.1自己架设PHP实验站点并深入探索RCurl功能包 152
9.1.1基于PHP网页服务器端技术架设网站实验环境 152
9.1.2深入探索RCurl包 157
9.2挖掘和分析社交编程平台GitHub的信息 162
9.2.1 GitHub的基本使用 162
9.2.2探索GitHub API 165
9.3总结与提高 175
9.4习题 175
附录 177
附录1 计算社会科学宣言 177
附录2 计算传播学:宣言与版图 182
附录3 服务器版RStudio的安装与配置(基于Ubuntu14.04) 191
附录4 RStudio的常用快捷键 192
附录5 使用devtools包从GitHub中安装R包 196
附录6 使用Rtools自制R扩展软件包 197
参考文献 203