新媒体数据挖掘:基于R语言
内容精选
下面列出了可用于数据挖掘的R包和函数的集合。其中一些不是专门为了数据挖掘而开发,但数据挖掘过程中这些包能帮我们不少忙,所以也包含进来。
1、聚类
常用的包: fpc,cluster,pvclust,mclust
基于划分的方法: kmeans, pam, pamk, clara
基于层次的方法: hclust, pvclust, agnes, diana
基于模型的方法: mclust
基于密度的方法: dbscan
基于画图的方法: plotcluster, plot.hclust
基于验证的方法: cluster.stats
2、分类
常用的包:
rpart,party,randomForest,rpartOrdinal,tree,marginTree,
maptree,survival
决策树: rpart, ctree
随机森林: cforest, randomForest
回归, Logistic回归, Poisson回归: glm, predict, residuals
生存分析: survfit, survdiff, coxph
3、关联规则与频繁项集
arules:支持挖掘频繁项集,最大频繁项集,频繁闭项目集和关联规则
DRM:回归和分类数据的重复关联模型
APRIORI算法,广度RST算法:apriori, drm
ECLAT算法: 采用等价类,RST深度搜索和集合的交集: eclat
4、序列模式
常用的包: arulesSequences
SPADE算法: cSPADE
5、时间序列
常用的包: timsac
时间序列构建函数: ts
成分分解: decomp, decompose, stl, tsr
6、统计
常用的包: Base R, nlme
方差分析: aov, anova
密度分析: density
假设检验: t.test, prop.test, anova, aov
线性混合模型:lme
主成分分析和因子分析:princomp
7、图表
条形图: barplot
饼图: pie
散点图: dotchart
直方图: hist
密度图: densityplot
蜡烛图, 箱形图 boxplot
QQ (quantile-quantile) 图: qqnorm, qqplot, qqline
Bi-variate plot: coplot
树: rpart
Parallel coordinates: parallel, paracoor, parcoord
热图, contour: contour, filled.contour
其他图: stripplot, sunflowerplot, interaction.plot, matplot, fourfoldplot,
assocplot, mosaicplot
保存的图表格式: pdf, postscript, win.metafile, jpeg, bmp, png
8、数据操作
缺失值:na.omit
变量标准化:scale
变量转置:t
抽样:sample
堆栈:stack, unstack
其他:aggregate, merge, reshape
9、与数据挖掘软件Weka做接口
RWeka: 通过这个接口,可以在R中使用Weka的所有算法。
内容介绍
计算传播领域尤其是新媒体数据挖掘方向一直缺乏系统的教材,《新媒体数据挖掘——基于R语言》旨在为计算传播和计算社会科学领域的读者提供学习R编程语言和开发平台的捷径,希望能够填补这方面的空白。“让学习层次变得更宏观,让学习过程变得更轻松,让学习所获变得更通用”是《新媒体数据挖掘——基于R语言》的编写理念与特色。《新媒体数据挖掘——基于R语言》首先剖析了社会科学研究范式的革新,介绍了R语言的作用和特点;然后系统讲解了编程语言的通用学习方法和R语言的基本组成;最后展开实战应用,包括网络数据采集、文本挖掘和情感分析、社会网络分析、社交编程平台协作等非常有趣且有意义的内容。
《新媒体数据挖掘——基于R语言》适合作为计算传播和计算社会科学领域相关专业本科和研究生教材。高职高专学校也可以选用部分内容开展教学。《新媒体数据挖掘——基于R语言》还适合作为计算传播学和计算社会科学科研人员的自学书籍
目录
- 第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的IDE开发环境——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