京公网安备 11010802034615号
经营许可证编号:京B2-20210330
R语言与数据的预处理
在面对大规模数据时,对数据预处理,获取基本信息是十分必要的。今天分享的就是数据预处理的一些东西。
一、获取重要数据
在导入大规模数据时,我们通常需要知道数据中的关键内容:最值,均值,离差,分位数,原点矩,离差,方差等。在R中常用的函数与作用整理如下:
统计函数
作用
Max
返回数据的最大值
Min
返回数据的最小值
Which.max
返回最大值的下标
Which.min
返回最小值的下标
Mean
求均值
Median
求中位数
mad
求离差
Var
求方差(总体方差)
Sd
求标准差
Range
返回【最小值,最大值】
Quantile
求分位数
Summary
返回五数概括与均值
Finenum
五数概括(最值,上下四分位数,中位数)
Sort
排序(默认升序,decreasing=T时为降序)
Order
排序(默认升序,decreasing=T时为降序)
Sum
求和
length
求数据个数
emm
Actuar包中求k阶原点矩
skewness
Fbasic包中求偏度
kurtosis
Fbasics包中求峰度
注:对象为分组数据,矩阵时返回的不是整体的方差,均值,而是每一列(组)的方差均值其余变量类似。
二、直方图与频数统计
对于数据分布的认识,在大规模时有必要使用直方图。在R语言中,直方图的函数调用为:
hist(x, breaks = "Sturges",
freq = NULL, probability = !freq,
include.lowest = TRUE, right = TRUE,
density = NULL, angle = 45, col = NULL, border = NULL,
main= paste("Histogram of" , xname),
xlim = range(breaks), ylim = NULL,
xlab = xname, ylab,
axes = TRUE, plot = TRUE, labels = FALSE,
nclass = NULL, warn.unused = TRUE, ...)
这里值得一提的是,分组参数breaks默认使用史特吉斯(Sturges)公式,根据测定数n 来计算组距数k,公式为:k=1+3.32 logn。当然也可以自己设定一个数组来决定分组。(举例参见《R语言绘图学习笔记》)
说完频率分布直方图,我们还有频率分布直方表。对于数据的统计,函数table可以统计出数据中完全相同的数据个数。例如对《全宋词》中暴力拆解(两个相邻字算一词)词语使用数目的统计程序如下:
[plain] view plaincopyprint?cut(x, breaks, labels = NULL, include.lowest = FALSE, right = TRUE, dig.lab = 3, ordered_result = FALSE, ...)
举一个具体例子,某一款保险产品,假设保单到达的速率为10张/天,理赔发生的速率为 1次/天。假设每张保单价格c=120,理赔额服从参数为v=1/1000 (以c*lambda1=1.2*lambda2/v设定)的指数分布。设定初始u=3000时,计算到第1000天为止发生破产的概率。(案例摘自《复 合泊松过程模型的推广和在R语言环境下的随机模拟》 )
破产过程的R代码如下:对于数据的分布估计经验分布是一个非常好的估计。在actuar包中函数ogive给出的实现:
ogive(x, y = NULL, …)
## S3 method for class ‘ogive’
print(x, digits = getOption(“digits”) – 2, …)
## S3 method for class ‘ogive’
summary(object, …)
## S3 method for class ‘ogive’
knots(Fn, …)
## S3 method for class ‘ogive’
plot(x, main = NULL, xlab = “x”, ylab = “F(x)”, …)
还是以上面的例子数据zz为例:
ogive(zz)
plot(ogive(zz))
输出结果:
Ogive forgrouped data
Call:ogive(zz)
x = -Inf, -3, -2, …, 3, Inf
F(x) = 0, 0.0011, 0.0229, …,0.9985, 1
由于大数定律的存在,很多情况下,正态性检验是十分有必要的一个分布检验,在R中提供的正态性检验可以汇总为下面的一个正态检验函数:
对于分布的检验还有卡方检验,柯尔莫哥洛夫检验等,在R中也有实现函数chisq.test()等。我们同样以一个例子来说明:
解答如下:(结果以注释形式标明)
[plain] view plaincopyprint?
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
【核心关键词】贷款、报表、课程、专业、建模、缺失值、营销、互联网、银行、办公自动化、数据分析、数据预处理、特征工程、贷 ...
2026-06-05在数据库数据查询、业务报表统计、多表关联分析中,LEFT JOIN左连接是使用率最高的SQL关联查询语句。其核心特性是保留左表全部数 ...
2026-06-05 很多数据分析师能熟练地写SQL、做透视表、算描述性统计,但当被问到“如何预测用户流失概率”“如何归因销量下滑的关键因素 ...
2026-06-05任何一款产品从诞生、普及到最终退出市场,都会遵循一套固定的发展规律,这就是产品生命周期理论。在市场竞争日益激烈、产品迭代 ...
2026-06-04在Excel数据分析、办公统计、业务报表制作场景中,数据透视表是数据汇总、分类统计、快速复盘的核心工具,能够高效完成海量原始 ...
2026-06-04 很多数据分析师拿到数据就开始清洗、建模,但当被问到“这批数据属于什么类型——结构化还是非结构化?分类变量还是数值变量 ...
2026-06-04在问卷调查与社会科学数据分析中,卡方检验是最常用、最基础的非参数检验方法,广泛应用于市场调研、用户分析、行为统计、满意度 ...
2026-06-03【核心关键词】贷款、报表、课程、专业、建模、缺失值、营销、互联网、银行、办公自动化、数据分析、数据预处理、特征工程、贷 ...
2026-06-03 很多数据分析师画过趋势图、做过业绩预测,但当被问到“这个月销售额增长20%,到底是长期趋势自然增长,还是促销活动的短期 ...
2026-06-03逻辑回归是数据分析、机器学习、统计建模中应用最广泛的二分类预测模型,常用于风险判断、行为预测、归因分析等场景。在SPSS、Py ...
2026-06-02数字经济时代,市场竞争日趋同质化,用户消费需求愈发个性化、多元化,传统依托经验、粗放式、广撒网的营销模式弊端日益凸显。长 ...
2026-06-02 很多数据分析师做过按月份的销售额趋势图,画过按天的流量折线图,但当被问到“时间序列和普通数据有什么本质区别”“季节性 ...
2026-06-02在市场竞争日趋饱和、用户需求不断细分的当下,企业创业创新、产品迭代与市场拓展不再依赖经验决策,而是需要系统化、工具化的商 ...
2026-06-01【核心关键词】调度、岗位、数据库、企业、报表、培训、程序、数据分析、数据加工、业务部门、企业数据、调度工具、业务指标、 ...
2026-06-01 很多数据分析师能熟练地计算指标、搭建标签体系,但当被问到“画像到底在解决什么问题”“画像和标签是什么关系”“画像如何 ...
2026-06-01在数据统计分析、数据清洗、异常值识别与数据分布研究中,箱型图是最直观、高效、专业的可视化分析工具。相较于柱状图、折线图仅 ...
2026-05-29Tkinter是Python内置的标准GUI图形界面库,具备无需额外安装、调用简单、兼容性强、轻量化高效等优势,是Python快速开发桌面小程 ...
2026-05-29 很多分析师在设计标签时思路清晰,但真到落地环节却面临“数据在手,不知如何转化为可用标签”的困境:或因加工方式选择不当 ...
2026-05-29【核心关键词】大数据、经理、专业、金融、客户、传统、建模、数据产品、互联网金融、产品经理、数据分析、金融行业、数据模型 ...
2026-05-28 很多分析师每天和数据打交道,但当被问到“标签是什么”“标签和指标有什么区别”“标签体系如何设计”时,却常常答不上来。 ...
2026-05-28