title: “第一章” author: “陈洋洋” date: “2024-05-06” output: html_document ———————————————————————————
三峡大学经济与管理学院
授课教师:陈洋洋
平时成绩50%,闭卷考试50%。
平时成绩包括,考勤(15%),课堂作业(15%),课后作业(10%),课堂表现(10%)。
闭卷考试:可能题型选择题,判断题,代码理解题,代码编写题。
班级群(729227303)
大数据有多大?
一般概念:5V特征,即:海量的数据规模(volume)、快速流转且动态激增的数据体系(velocity)、多样异构的数据类型(variety)和潜力大但密度低的数据价值(value),以及噪声影响的数据质量(Veracity)。
广义概念:即大数据是围绕大数据集的一个包括大数据理论、技术、应用和生态四个方面的组合架构概念。
1.大数据理论
目前,大数据理论层面主要是从计算机科学、统计学、数学以及实践等方面汲取营养,旨在最终构建数据科学理论基础,建立数据空间的科学认知体系。这个数据空间是独立且关联于自然世界和人类社会之外的新维度。
2.大数据技术
大数据技术是推动大数据发展最活跃的因素。其关键技术可分为大数据采集技术,大数据集成与预处理技术,大数据存储技术(包括云计算技术、数据库与数据仓库技术、分布式数据处理技术、数据湖技术等),大数据分析技术(包括统计分析、数据挖掘、机器学习以及机器学习和增强学习等),大数据可视化技术,大数据平台技术,以及大数据安全技术。
3.大数据应用
大数据应用在我国呈现出大力推进和积极拓展的局面。多领域应用场景的有效开发成为带动大数据发展的重要引擎。 大数据应用 般可分为个人、 企业与行业、 政府以及时空综合应用等若干方面。
4.大数据生态
大数据生态是指大数据事业与其相关环境所形成的相互作用、 相互影响的共生系统。 主要包括大数据市场需求、 政策法规、 人才培养、 产业配套与行业协调、 区域协同与国际合作等要素。
两大技术方向:大数据工程和大数据分析,其对应着大数据工程师和大数据分析师的角色。
初学者学习大数据分析,可以从统计方法、数据挖掘、机器学习、深度学习这个途径循序前进,逐步提升。
大数据的统计分析需要功能强大,灵活易用的实现工具。作为面向统计分析的计算机语言,R无疑是一个最好的选择。
第一种角度:
商业软件(SPSS,STATA,MATLAB);
共享软件(Python,C,Java,R)。
第二种角度:
“傻瓜”软件(入门简单,但无法满足个性化需求,如EXCEL);
“非傻瓜”软件(Python;MATLAB;R)。
包是R的核心,可划分为基础包(Base)和共享包(contrib)。
基础包
共享包
由R的全球性研究型社区和第三方提供的各种包的集合。
install.packages(“ggplot2”) ###安装第三方包,ggplot2,类似Python中的pip install library(ggplot2)###
载入第三方包,类似于Python中的import。
library(“ggplot2”)###加引号也是可以的。
R是存在于R包中的实现某个计算或某种分析的程序段,每个函数都有一个函数名。可通过函数调用的方式,直接借助已有函数解决分析中的各类计算问题。函数名是函数调用的唯一标识。可通过以下两种格式实现函数调用。
格式一:函数名(形式参数列表)
library(ggplot2)###利用library函数,导入ggplot2包。
sin(pi/2)####计算sin π/2
log(2.71828)###计算lne
rnorm(10)###生成10个随机数
help(sin)####查看sin函数的使用方法
library(ggplot2)###利用library函数,导入ggplot2包。
sin(pi/2)####计算sin π/2
## [1] 1
log(2.71828)###计算lne
## [1] 0.9999993
rnorm(10)###生成10个随机数
## [1] 0.1102292 -1.0177769 0.4331071 1.8846552 0.1224318 0.9943102
## [7] 0.5213837 1.3357078 0.7917120 0.2305842
help(sin)####查看sin函数的使用方法
## starting httpd help server ... done
格式二:函数名()
getwd()# 获取当前工作路径 get work directory
q()#关闭R,慎重使用!
dir()#显示当前路径下的所有文件和文件夹,相当于打开一个文件夹。 directory
也称工作内存。R的所有计算都是基于工作内存的,即需要将外存中的R包、数据等,首先加载到工作内存中,然后才能够进行后续的计算。基于这种工作机制,R成功启动后会首先自动将基础包加载到工作空间中。
R语言是面向对象的编程语言。R对象是存在于工作空间中的基本单元。R语言中,一切都是对象。每个R对象都有一个对象名。
R是免费开源软件,不带任何担保。在某些条件下可以将其自由散布。其下载官网为:
https://cran.r-project.org/###进入官网
Download R for Windows
install R for the first time
Download R-4.3.0 for Windows (79 megabytes, 64 bit)
安装R语言后,可以直接点击运行。R语言程序运行的时候,会有一个界面:
其中最重要的是R console,即控制台。其中,符号”>“为R语言的提示符,意味着当前已经成功启动R,且处于就绪状态,等待用户输入。该符号为R语言软件自动生成,不需要用户自己输入。本课程参考教材中,由于显示的代码是执行(跑代码)的结果,因此会有该符号;但一般自己写代码是不需要该符号的,本讲义就没有该符号,比如:
curve(expr = sin(x), from = 0, to = 2*pi)
但如果将上述代码粘贴到R语言软件中执行,则会自动产生符号”>“。
(1)当前工作空间中已经加载了基础包中的哪些小包?
a.在R语言主窗口中点击【其他】→【列出查找路径】
b.search()
代码执行结果如下
search()
[1] “.GlobalEnv” “package:stats” “package:graphics”
[4] “package:grDevices” “package:utils” “package:datasets”
[7] “package:methods” “Autoloads” “package:base”(2)已加载包中有哪些可以调用的函数
一个包中会有很多函数,可以使用以下命令查看已加载的包中函数列表和说明:
library(help = “stats”)
(3)如何获取R的帮助文档
a.使用help.start(),以浏览器形式打开R的帮助手册:
help.start()
b.使用help(),查看指定函数的帮助文档:
help(rnorm)
help(plot)
c.使用help.search(),查看指定字符串的帮助文档:
help.search(‘box’)
a.命令行运行方式
在R console中每次输入一行(串)命令。简单的代码可以这么做。好处是所见即所得。
a <- c(1,2,3) ###注意,“<-”代表赋值,一般情况下,也可以使用等号“=”,但是不推荐。
print(a)
a<-a*4
print(a)
b.脚本运行方式
如果需要运行的程序包含很多代码,手动一行一行输入不太现实,也不利于后期调试。因此,可以事先将代码写好,即编写R程序,R程序的文件扩展名是【.R】,相对而言,python脚本的文件扩展名是【.py】
a <- c(1,2,3)
print(a)
a<-a*4
print(a)
将以上代码另存为”L1_1.R”。有两种方式可以运行L1_1.R程序。
a.逐行交互方式执行,选中后点击运行按钮。
b.批处理方式
getwd()
setwd(文件的路径)
source(“L1_1.R”)
选择窗口菜单【程序包】→【加载程序包】,将会弹出一个select one窗口,这就是已下载的R包;注意,这个窗口包含已加载的包和没有加载的包。加载需要用到library函数。
自己在第三方下载并安装的包,并不会自动加载到R的工作空间,需要加载。加载的方法有以下两种:
a.在select one中,找到你要加载的包,并点击;
b.使用library()函数。
注意:加载包的前提是,你已经提前下载并安装了这个包,使用install.packages(“包的名称”)可以下载安装第三方包。
【下载安装】→【加载】→【使用】
具体而言:
第一步,设定镜像地址(从哪里下载,国内下载更快)。【程序包】→【设定CRAN镜像】
第二步,下载安装。【程序包】→【安装程序包】(此方法很少用);推荐使用install.packages(“包名称”)。
【例题】请大家在自己电脑上安装第三方包,包的名称为:corrgram
install.packages(“corrgram”)
library(corrgram)
假设你R程序写了一半,然后出去旅游,打算回来继续未完成的代码。
【文件】→【保存工作空间】
【文件】→【保存历史】
将会在当前工作目录下,依次创建两个名为”.Rdata”和”.Rhistory”的环境文件,分别存储R对象和R程序语句。此时你就可以放心去旅游了。
当你旅游回来,启动R后,选择菜单【文件】→【加载工作空间】和【文件】→【加载历史】,此时你的R语言工作空间就回到了你上次关机前的状态,直接继续你下一行代码。
与Python一样,官方发布的R语言软件太不友好,一般大家都采用Rstudio作为集成开发环境(JDE),Rstudio也是开源免费的,功能强大。后面我们所有R语言代码学习,都将在Rstudio上面进行。
Rstudio不能单独存在。必须先安装R语言软件,安装成功后,下载Rstudio,并安装。
左上区域为R的程序代码区域,在该区域书写、调试和运行R程序。
左下区域为R的控制台窗口,R程序的运行结果默认输出到该区域。
右上区域为R的工作空间管理区域,主要显示工作空间中已加载的R包、R对象以及上次工作的历史记录等。
右下角区域为R的工作目录、管理、图形显示、帮助等区域,其中选择files选项卡显示已安装的R包,选择help选项显示帮助。
还可以在【Tools】→【Global Options】对Rstudio环境进行设置。
长期的理论和实践都毋庸置疑地验证了经典统计分析基本框架的完备性和通用性。对于大数据分析而言,沿用统计分析的基本框架仍为一种稳健而有效的方案。
涉及的统计概念
变量、变量值
数值型变量、类别型变量、顺序型变量
观测、总体、样本
统计分析的对象是数据集合,简称数据集。数据集是由变量及多个变量值组成的集合。变量通常用于描述研究对象的某种属性,变量值为某种属性的具体取值。
getwd() setwd(“G:/教学/大数据/[R语言:大数据分析中的统计方法及应用][薛薇][程序源代码] (1)”)######自己修改路径
dir()###通过dir能够找到“空气质量.txt”
air_quality <- read.table(“空气质量.txt”, header = TRUE, fileEncoding = “GB2312”)
根据变量值可将变量进一步分为数值型变量、类别型变量、顺序型变量,其中后两类变量也统称为分类型变量。
数值型变量的变量值为连续或非连续的数字,各数值间的差具有可比性,且算术运算有意义。
分类型变量的变量值为字符或数字标签。
顺序型变量的变量值也为字符或数值标签。
数据集的数据一般以二维表的形式组织。一行为研究对象中的某个个体,统计上成为一个观测。
总体是包含研究元素全体的集合。样本是从总体中抽取的部分元素的集合,构成样本的元素数目称为样本量。
• 基于已有数据界定研究问题,确定分析目标,是数据分析的重中之重,它将直接影响后续数据分析的有关步骤和具体策略
• 以北京市空气质量监测数据的分析为例,对北京市空气质量监测的随机样本,界定的研究问题可以有:
分析供暖季各污染物浓度有怎样的分布特征。
hist(air_quality$PM2.5)
hist(air_quality$NO2,breaks = 100)
hist(air_quality$CO,breaks = 100)
是否存在PM2.5浓度”爆表”(超过500)的情况。哪些监测点在哪些天出现了”爆表”。
dizhi <- air_quality\(SiteName[which(air_quality\)PM2.5>500)]
shijian <- air_quality\(date[which(air_quality\)PM2.5>500)]
baobiao <- data.frame(dizhi,shijian)
估计2016年供暖季北京市PM2.5浓度的总体平均值。
mean(air_quality$PM2.5)
mean(air_quality$PM2.5,na.rm = TRUE)
服务于分析目标,对原始数据的预处理是极为重要的。
数据预处理包括多个数据集的合并,派生新变量,数值型变量的分组或变换,类别变换的重编码等等
第一,揭示单个变量的分布特点;第二,刻画两个或多个变量的相关性特征
涉及的统计概念:统计量、参数
如果视数据集为一个随机样本,由此得到的均值、方差(或标准差)、偏态系数、峰度系数等,统称为统计量。
如果数据集为一个总体,由此得到的均值、方差(或标准差)、偏态系数、峰度系数等,统称为参数。
若分析的数据为随机样本,统计往往需要进一步依据样本数据,对其来自的总体特征进行推断。即基于样本统计量估计总体参数。
涉及的统计概念:单个总体参数的推断、多个总体参数的对比
• 总体特征的推断:基于样本统计量估计总体参数
单个总体参数的推断,是指利用一个随机样本,对它来自的这一个总体的参数进行推断
多个总体参数的对比,是利用两个或多个随机样本,对它们来自的多个总体的参数有怎样的差异进行推断
分析事物之间的相互影响关系,是大数据分析中的普遍应用要求
无论数据是样本数据还是总体数据,需要对数据的内在结构进行剖析
从统计角度解决这些问题,本质就是通过聚类分析发现数据中的”自然”分组。聚类分析涉及数据建模、模型评价和应用等方面。
本章涉及的R函数列表
| 函数名 | 功能 |
|---|---|
| search() | 浏览已加载包的名称 |
| library(help=“包名称”) | 浏览指定包中的函数 |
| library(包名称) | 加载指定包到R的工作空间 |
| detach(“package:包名”) | 从R的工作空间中卸载指定的包 |
| install.packages(“包名称”)###小写的i | 下载安装指定包 |
| help.start() | 启动R的帮助文档 |
| help(函数名) | 浏览指定函数的帮助文档 |
| help.search(“字符串”) | 浏览包含指定字符换的函数的帮助文档 |
| getwd() | 浏览R的当前工作目录 |
| setwd(“工作目录名”) | 指定R的当前工作目录 |
| source(“R程序名”) | 运用指定的R程序 |
| sink(“结果文件名”, append=TRUE/FALSE) | 将后续控制台窗口的输出保存到指定结果文件中 |
| sink() | 后续控制台窗口的输出不再保存到文件中 |