R语言数据分析全面实验操作课件_第1页
R语言数据分析全面实验操作课件_第2页
R语言数据分析全面实验操作课件_第3页
R语言数据分析全面实验操作课件_第4页
R语言数据分析全面实验操作课件_第5页
已阅读5页,还剩35页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

R语言数据分析全面实验操作课件从零基础到数据分析实战的完整实验路径适用对象高校本科生课程导览01环境与入门R与RStudio安装配置,基础语法快速上手02数据预处理数据导入、清洗、变换与规整03统计推断描述统计、假设检验与方差分析04建模实战回归分析与分类模型构建05可视化呈现ggplot2图形语法与专业图表设计06综合案例端到端数据分析项目实战01环境与入门工欲善其事,必先利其器搭建R语言操作环境,掌握基础语法与数据结构安装R与RStudio环境R语言数据分析始于规范的软件环境搭建,本页给出完整安装与配置路径。安装与配置流程四步完成R与RStudio环境搭建,奠定数据分析基础。注意事项建议使用

RStudio

作为日常开发环境,脚本编辑、代码补全与图形预览显著提升效率安装路径避免使用中文与空格,防止跨平台兼容性问题推荐了解R包管理工具

pak

或

devtools,为批量安装依赖包做准备步骤01下载R1下载R访问CRAN官方镜像,选择对应操作系统版本下载安装。步骤02安装RStudio2安装RStudio下载RStudioDesktop免费版,作为集成开发环境。步骤03验证安装3验证安装在控制台执行

version

命令确认R与RStudio正常启动。步骤04配置目录4配置工作目录使用

setwd()

设置项目工作目录,建立良好的项目组织习惯。理解工作区与包管理管理包是入门R的关键技能,分析能力高度依赖第三方包。1安装包install.packages("dplyr")从CRAN安装2加载包library(dplyr)加载到当前会话3查看帮助?dplyr或

help(package="dplyr")

查阅文档4更新与移除update.packages()&remove.packages()维护本地包库常用包dplyr数据变换ggplot2可视化readr数据导入包安装需联网,校园网受限可配置国内

CRAN镜像源每次新会话需重新

library()

加载,这是常见初学者陷阱核心数据结构速览R的数据分析操作本质上是对不同数据结构的变换,理解结构是理解代码的前提。数据框

是数据分析最核心的结构,绝大多数导入数据默认以数据框形式存在因子用于存储分类变量,在统计建模中需正确设置避免被当作数值处理用

str()

函数可快速查看任意对象的内部结构,是排查问题的第一工具数据结构维度元素类型典型用途向量一维同质单变量存储因子一维离散类别分类变量编码矩阵二维同质数值运算数据框二维每列同质表格数据分析列表任意任意混合复杂对象容器向量与数据框基础操作掌握索引与子集选择,是实现数据筛选与提取的基础能力。条件筛选返回

逻辑向量,这是R向量化操作的底层机制,向量化操作避免显式循环,代码更简洁且执行更快。基础能力向量操作创建向量x<-c(3,7,1,9)按位置索引x[2]返回第2个元素按条件筛选x[x>5]返回所有大于5的元素数据筛选数据框操作按列提取df$age或df[,"age"]按行筛选df[df$score>=60,]新增列df$pass<-ifelse(df$score>=60,"及格","不及格")02数据预处理数据质量决定分析上限从导入到规整,构建干净可用的分析数据集数据导入方法与策略数据导入是分析的起点,选对函数能避免编码与分隔符带来的常见错误。数据导入函数对比文件格式对应函数关键参数CSV逗号分隔read_csv()自动识别分隔符TSV制表符分隔read_tsv()制表符固定任意分隔符read_delim()需指定delimiterExcel文件read_excel()需指定sheet导入后立即用

glimpse()

查看列类型与样本数据,确认导入正确中文数据常见编码问题,若出现乱码尝试

locale=locale(encoding="GBK")建议为原始数据保留只读副本,清洗操作在新的数据框中完成缺失值识别与处理处理策略操作方式适用场景删除na.omit()缺失少且随机均值填补replace_na(mean)数值型少量缺失分组中位数填补group_by后填充存在组间差异标记保留新增指示列缺失本身有信息盲目删除可能导致样本偏倚,处理前应判断缺失机制是

完全随机缺失

还是非随机缺失处理策略的选择应记录在分析报告中,保证可复现性缺失值是真实数据的常态,识别并合理处理是数据质量的关键环节。查缺失值识别与统计识别缺失is.na()

返回逻辑向量定位缺失位置统计缺失sum(is.na(df$col))

计算某列缺失数量查看模式mice::md.pattern()

可视化缺失值分布模式异常值检测与诊断录入错误可修正或删除,真实极端值应保留并在建模时考虑稳健方法IQR

即四分位距,等于

Q3减Q1,是衡量离散程度的稳健指标异常值可能来自录入错误,也可能蕴含重要信号,检测与判断需分离进行基于箱线图的识别规则下界:Q1-1.5×IQR上界:Q3+1.5×IQR超出上下界的观测标记为离群点R实现boxplot(df$value)

直接绘制箱线图观察离群点boxplot.stats(df$value)$out

提取离群点具体数值结合业务知识判断离群点属于

录入错误

还是真实极端值录入错误真实极端值dplyr核心变换逻辑filter()按条件筛选行›select()按名称选择列›mutate()创建或修改列›summarise()汇总统计›arrange()排序管道运算符%>%管道运算符

%>%

将上游结果传递给下游函数,让多步操作可读性显著提升组合示例df%>%filter(age>20)%>%group_by(city)%>%summarise(avg_income=mean(income))group_by()

与

summarise()

配合是分组汇总的核心模式,等价于SQL的GROUPBY数据规整与长宽转换tidy数据原则:每个变量一列、每个观测一行,长宽转换是达成该原则的必备技能01宽转长pivot_longerpivot_longer(df,cols=c("Q1","Q2","Q3"),names_to="quarter",values_to="sales")将多列季度销量合并为

季度

与

销量

两个新列长格式是

ggplot2绘图

与分组分析偏好的结构长转宽pivot_wider将季度列展开为宽列,适合报表展示pivot_wider(df,names_from="quarter",values_from="sales")将季度列展开为多个宽列,适合报表展示判断tidy明确目标判断数据是否tidy:问自己"每一列是否只代表一个变量"转换前先明确分析目标需要长格式还是宽格式,避免反复转换数据变换与派生变量派生变量构建是特征工程的基础,直接决定建模上限常用变换函数数值变换log()

对数、scale()

标准化、cut()

分箱类型转换as.numeric()、as.factor()、as.Date()字符串处理str_extract()

提取、str_replace()

替换派生变量示例01BMIdf%>%mutate(bmi=weight/(height/100)^2)从身高体重派生BMI02分箱df%>%mutate(age_group=cut(age,breaks=c(0,18,35,60,100)))年龄分箱03对数df%>%mutate(log_price=log(price))对偏态变量做对数变换对右偏变量做对数变换可改善其正态性,是回归建模前的常用预处理派生变量的业务含义应可解释,避免生成无法解读的黑箱特征03统计推断用数据说话,以概率决策掌握假设检验与方差分析的核心逻辑与R实现描述统计与集中趋势描述统计用少数指标刻画数据分布的核心特征,是正式推断分析前的必要环节集集中趋势指标均值mean():算术平均,受极端值影响大中位数median():排序中间值,对离群点稳健众数出现频次最高的值,R需自行编写函数计算离离散程度指标标准差sd():衡量数据围绕均值的波动幅度四分位距IQR():Q3减Q1,稳健离散度量极差range():最大值减最小值,易受离群点影响偏态分布中中位数比均值更能代表典型水平报告描述统计时应同时给出集中趋势与离散程度,单一指标信息不完整概率分布与抽样模拟前缀功能示例d密度函数dnorm(0)p累积概率pnorm(1.96)q分位数qnorm(0.975)r随机抽样rnorm(100)表格展示

d/p/q/r

四个前缀对应的密度函数、累积概率、分位数、随机抽样功能及示例。算关键操作要点累积概率pnorm(1.96)

返回标准正态下小于1.96的累积概率,约等于

0.975随机数生成rnorm(1000,mean=5,sd=2)

生成

1000

个均值为5、标准差为2的正态随机数可复现性通过

set.seed()

固定随机种子,可保证抽样结果

可复现单样本t检验实操执行步骤1提出假设H0总体均值等于某值H1总体均值不等于该值2执行检验t.test(x,mu=目标值)3读取结果关注t统计量与p值4做出决策p值小于显著性水平则拒绝H0结果解读p值是决策关键代码示例:t.test(scores,mu=60)

检验成绩是否显著偏离60分输出中的

t=3.25,df=29,p-value=0.003

表示显著偏离p值是在H0成立时观察到当前或更极端结果的概率,p值越小证据越强显著性水平通常取

0.05,低于此阈值即拒绝原假设双样本t检验与配对检验比较两组均值时,需根据样本关系选择独立样本或配对t检验,选错检验类型会得出错误结论。分析流程:判断独立性→检验方差→执行t检验→解读结果1判断独立性独立观测用独立样本t检验同一对象前后测量用配对检验›2方差齐性var.test()检验两组方差是否相等›3执行检验独立样本:t.test(x,y,var.equal=...)配对:t.test(x,y,paired=TRUE)›4解读结果p值低于显著性水平则两组均值差异显著方差不等的处理Welch校正独立样本默认

var.equal=FALSE,对方差不等更稳健📈配对检验场景配对场景同一批学生

培训前后

成绩对比📋结果报告报告要素给出均值、标准差、t值、自由度与p值,信息全面才可复现卡方检验与关联分析第1步构建列联表table(df$gender,df$preference)生成交叉频数表→第2步执行检验chisq.test(列联表)→第3步读取结果关注

X-squared

统计量与

p值→第4步决策判断p值小于

0.05

则两变量存在

显著关联注意期望频数小于

5

的单元格占比过高时,卡方近似不可靠,可考虑

fisher.test()边界卡方检验只判断关联性存在与否,不衡量关联强度补充关联强度可用Cramer'sV系数补充度量,值域

0

到

1,越接近

1

关联越强方差分析入门三种教学法平均成绩对比检验结果解读与后续验证F检验显著至少一组均值与其他组不同,但不指出差异位置事后多重比较如TukeyHSD检验

TukeyHSD(model)前提假设残差近似正态且方差齐性,违反正态性可用Kruskal-Wallis检验替代方法论三步实验设计:分类自变量+数值因变量建模:aov(score~group,data=df)检验:summary(model)查看F与Pr(>F)04建模实战从相关到因果,从描述到预测构建回归与分类模型,理解模型评估与诊断相关分析与线性回归基础线性回归是建模实战的起点,从变量间相关关系到量化预测模型。从相关系数判断变量线性关系,进而用线性模型量化预测。相关分析3项cor(df$x,df$y)

计算Pearson相关系数量化两变量间线性相关程度相关系数取值-1到1绝对值越接近1,线性关系越强相关矩阵

cor(df)同时观察多变量两两关系简单线性回归3项lm(y~x,data=df)

拟合线性模型建立因变量与自变量的回归方程summary(model)

查看系数与显著性输出系数估计与显著性检验回归系数解释x每增加1单位,y平均变化

系数值

个单位强相关不代表因果,可能受

混杂变量

影响R-squared

表示模型解释的因变量变异比例,越接近1拟合越好多元回归与共线性诊断多元回归纳入多个自变量,但变量间高度相关会损害系数估计的稳定性,需诊断共线性。VIF值范围共线性程度处理建议小于5可接受无需处理5到10中等关注并验证大于10严重删除或合并变量逻辑回归与分类预测面对二分类问题如是否流失、是否违约,逻辑回归是经典的基准模型,其核心思想是将线性组合映射到概率空间,实现二分类预测。逻辑回归将线性组合映射到概率空间,是二分类问题的经典基准模型建模流程数据准备因变量需为0/1编码或因子类型模型拟合glm(y~x1+x2,data=df,family=binomial)系数解读系数取指数化为优势比预测predict(model,newdata,type="response")返回概率阈值决策模型评估默认以0.5为分类阈值,概率高于阈值判为正类;业务场景可调整,信贷风控中常提高阈值以降低误放风险优势比大于1表示自变量增加时事件发生概率上升;评估需看准确率、召回率与ROC曲线下面积

AUC分类模型评估体系分类模型的好坏不能只看准确率,尤其是类别不平衡场景下,需要多指标综合评估。准确率(TP+TN)/总数类别均衡时适用精确率TP/(TP+FP)关注预测为正的可靠性召回率TP/(TP+FN)关注正类样本被找出F1分数精确率与召回率的调和平均两者平衡时使用混淆矩阵预测正类预测负类实际正类TP

真阳性FN

假阴性实际负类FP

假阳性TN

真阴性

案例警示罕见病筛查患病率仅

1%,全判阴性准确率可达

99%

但毫无价值R中

caret::confusionMatrix()

可一键生成完整评估报告ROC曲线与

AUC

是评价模型排序能力的常用指标模型诊断与改进策略拟合模型只是开始,诊断模型假设满足程度并针对性改进,才能得出可靠结论。依据诊断结果,采取对应的处理策略,让模型假设更接近真实数据生成过程。常见问题诊断方法处理策略非线性关系残差图呈弯曲添加多项式项或变换异方差性残差呈喇叭形变量变换或加权回归离群点影响Cook距离检查移除或稳健回归自变量共线VIF检验删除或正则化plot(model,which=1):查看残差拟合图,判断线性与方差齐性plot(model,which=4):查看Cook距离,识别强影响点无规律随机散布是模型拟合良好的标志05可视化呈现一图胜千言掌握ggplot2图形语法,设计专业数据图表ggplot2图形语法核心ggplot2的图形语法用分层叠加的方式构建图表,理解语法结构是自由作图的前提。1数据层ggplot(data=df)指定数据源→2映射层aes(x=,y=,color=)将变量映射到视觉属性→3几何层geom_point()/geom_bar()决定图形类型→4调整层theme()/labs()/scale_*()美化细节完整示例ggplot(df,aes(x=age,y=income))+geom_point()+labs(title="年龄与收入")映射本质映射是把数据变量对应到坐标、颜色、大小等视觉通道+号叠加逻辑通过

+号逐层叠加,图层顺序影响最终渲染效果常用图形类型选择图形选择的核心标准是数据结构与叙事目标,不同图形回答不同问题。图形类型回答的问题ggplot2函数柱状图类别间数量对比geom_col()直方图单变量分布形态geom_histogram()箱线图分布与离群点geom_boxplot()散点图两变量关系geom_point()折线图时间趋势geom_line()图形美化与主题定制默认主题适合快速探索,发表级图表需要定制主题与细节。内置主题3种theme_bw()简洁黑白theme_minimal()极简风格theme_classic()经典样式开箱即用定制主题3项theme(axis.text,legend.position)调整坐标轴文字与图例位置scale_color_manual()自定义配色labs()统一设置标题与坐标轴精细控制美化实践要点3项图例位置与坐标轴文字大小是最常调整的细节颜色数量3到5种已足够区分分组完整要素标题、坐标轴、图例与数据标注需同时考虑发表级图表组合图表与分面展示当需要同时展示多个分组或多个视角时,分面与拼图是两类核心技巧。分面与拼图,分而治之

与

合而为一facet分面patchwork拼图分面facetfacet_wrap(~category)按单一变量分面,自动排列成多行facet_grid(row_var~col_var)按两个变量分面成矩阵分面共享坐标轴,便于跨组对比同一变量关系跨组对比拼图组合patchwork包+与/水平或垂直拼接gridExtra::grid.arrange()灵活排列多图组合图常配共享图例减少冗余信息共享图例分面比多图拼合更适合直接对比同一变量的分组差异导出高质量图片使用

ggsave(),可指定尺寸与分辨率06综合案例知行合一,学以致用整合全流程技能,完成真实数据分析项目案例项目背景与目标综合案例整合全课程技能,以真实电商销售数据为素材,完成端到端分析项目。四步分析框架1业务问题定义识别影响销售额的关键因素2数据获取与理解导入销售记录并初步探查3分析建模描述统计、回归建模与可视化4结论报告输出洞察与业务建议数据需求数据字段订单编号、商品类别、销量、单价、地区、日期数据规模跨12个月的

数千条

交易记录分析目标回答"哪些因素驱动销售额增长""不同地区的销售差异如何"明确业务问题与数据需求是项目成功的前提数据读取与初步探索项目第一步是读取数据并建立结构认知,本页展示完整的数据探查流程。read_csv()导入数据›glimpse()查看列类型与样本›summary()生成数值列描述统计›table()查看分类变量频次初步发现检查各列类型是否正确,日期列需转换为Date类型观察销量与单价的分布范围,识别极端值统计缺失值数量,评估清洗工作量用

skimr::skim()

一次性生成完整摘要报告数据清洗与特征构建用课程中学到的清洗与变换技能,将原始数据规整为建模可用状态。清洗步骤filter(!is.na(sales))

删除销量缺失记录mutate(date=as.Date(date))

修正日期类型处理异常值:基于业务规则修正或删除统一分类变量编码,避免大小写不统一导致的类别分裂特征构建mutate(revenue=quantity*unit_price)

派生销售额变量mutate(month=month(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论