R语言︱噪声数据处理、数据分组——分箱法(离散化、等级化)
每每以为攀得众山小,可、每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~
———————————————————————————
分箱法在实际案例操作过程中较为常见,能够将一些数据离散化,等级化,比如年龄段,我们并不想知道确切的几岁,于是乎可以将其分组、分段。
基础函数中cut能够进行简单分组,并且可以用于等宽分箱法。
cut函数:cut(x, n):将连续型变量x分割为有着n个水平的因子.(参考来自: R语言︱数据集分组、筛选)
- cut(x, breaks, labels = NULL,
- include.lowest = FALSE, right = TRUE, dig.lab = 3,
- ordered_result = FALSE, ...)
分箱法分为等深分箱(样本量一致,比等宽好)、等宽分箱(cut函数可以直接获取)。
着重看一下等深分箱法,笔者在这根据CDA DSC课程code之上,自己编译了一个等深分箱函数sbdeep。
sbdeep=function(data,parts,xiaoz){
parts<-parts #分几个箱
xiaoz<-xiaoz #极小值
value<-quantile(data,probs = seq(0,1,1/parts)) #这里以data等比分为4段,步长为1/4
number<-mapply(function(x){
for (i in 1:(parts-1))
{
if(x>=(value[i]-xiaoz)&x<value[i+1])
{
return(i)
}
}
if(x+xiaoz>value[parts])
{
return(parts)
}
return(-1)
},data)
#打标签L1L2L3L4
return(list(degree=paste("L",number,sep=""),degreevalue=number,value=table(value),number=table(number))) #将连续变量转化成定序变量,此时为L1,L2,L3,L4...根据parts
}
该函数是对单个序列数据进行等深分箱,可以返回四类:
一个基于L1L2L3....的每个指标标签序列degree;
标签序列值degreevalue,
每个百分位数对应的变量值value,
不同百分点的数量number。
————————————————————————————————————
应用一:R语言等宽分箱小案例
R语言的等宽分箱法一般都是用cut来获取,但是用法来说在网上还是比较少见的。譬如这里有一个需求就是把连续数列,根据等宽分箱的办法切分开来。这个应该怎么做呢?
来看一个cut的案例:
> a <- c(1,2,3,4,5,6,4,3,2,1) > cut(a,10) [1] (0.995,1.5] (1.5,2] (2.5,3] (3.5,4] (4.5,5] (5.5,6] (3.5,4] (2.5,3] (1.5,2] (0.995,1.5] Levels: (0.995,1.5] (1.5,2] (2,2.5] (2.5,3] (3,3.5] (3.5,4] (4,4.5] (4.5,5] (5,5.5] (5.5,6] > cut(a,10,labels=F) [1] 1 2 4 6 8 10 6 4 2 1
一个数列,简单的cut滞后,就变成一个levels,因子型的一个区间范围,但是这个结果一般不是我们想要的,我们想要对连续数据进行切割。那么就是用R语言中的cut函数的,labels参数。
可以从案例中看到,labels=F之后,就变成了一系列等级型的分组序号,就像聚类一样,模型跑出来之后,就给数列打了一个标签。那么就可以这样选择你想要的,譬如我要选择连续变量的数值上的前10%的数值:
a[cut(a,10,labels=F)==10]
每每以为攀得众山小,可、每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~
———————————————————————————
R语言︱噪声数据处理、数据分组——分箱法(离散化、等级化)的更多相关文章
- R语言︱处理缺失数据&&异常值检验、离群点分析、异常值处理
在数据挖掘的过程中,数据预处理占到了整个过程的60% 脏数据:指一般不符合要求,以及不能直接进行相应分析的数据 脏数据包括:缺失值.异常值.不一致的值.重复数据及含有特殊符号(如#.¥.*)的数据 数 ...
- [译]用R语言做挖掘数据《二》
数据探索 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: ...
- [2]R语言在数据处理上的禀赋之——可视化技术
本文目录 Java的可视化技术 R的可视化技术 二维做图利器plot的参数配置 *权限机制 *plot独有的参数 *plot的type介绍 *title介绍 *公共参数集合--par *par的权限机 ...
- R语言分析朝阳医院数据
R语言分析朝阳医院数据 本次实践通过分析朝阳医院2016年销售数据,得出“月均消费次数”.“月均消费金额”.“客单价”.“消费趋势”等结果,并据此作出可视化图形. 一.读取数据: library(op ...
- R语言实现金融数据的时间序列分析及建模
R语言实现金融数据的时间序列分析及建模 一 移动平均 移动平均能消除数据中的季节变动和不规则变动.若序列中存在周期变动,则通常以周期为移动平均项数.移动平均法可以通过数据显示出数据长期趋势的变动 ...
- R语言之数据处理
R语言之数据处理 一.向量处理 1.选择和显示向量 data[1] data[3] data[1:3] data[-1]:除第一项以外的所有项 data[c(1,3,4,6)] data[data&g ...
- R语言处理Web数据
R语言处理Web数据 许多网站提供的数据,以供其用户的消费.例如,世界卫生组织(WHO)提供的CSV,TXT和XML文件的形式的健康和医疗信息报告.基于R程序,我们可以通过编程提取这些网站的具体数据. ...
- R语言之数据处理常用包
dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其它数据库的接口:tidyr包的作者是Hadley ...
- 利用R语言进行交互数据可视化(转)
上周在中国R语言大会北京会场上,给大家分享了如何利用R语言交互数据可视化.现场同学对这块内容颇有兴趣,故今天把一些常用的交互可视化的R包搬出来与大家分享. rCharts包 说起R语言的交互包,第一个 ...
随机推荐
- Java细节
native关键字用法 native是与C++联合开发的时候用的!java自己开发不用的! 使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL, ...
- #pragma once 与 #ifndef 解析
转自:http://www.cnblogs.com/hokyhu/archive/2009/03/30/1425604.html 为了避免同一个文件被include多次,C/C++中有两种方式,一种是 ...
- 4.ES核心慨念
一. 和lucene的关系 lucene是最先进,功能最强大的搜索库.但是使用复杂(要深入理解其中原理. elasticsearch,基于lucene,隐藏复杂性,提供简单易用的restful api ...
- Windows Server 2016-Active Directory域服务概述
活动目录(AD)是一种目录服务是微软用于开发Windows域网络.它被包含在大多数Windows Server 操作系统中作为一组进程和服务.最初,Active Directory只负责集中式域管理. ...
- 网络编程之socketserver
网络编程之socketserver """ socketserver.py 中的5个基础类 +------------+ | BaseServer | +-------- ...
- Struts2 中添加 Servlet
Struts2中如何添加Servlet 以前Java开发都是Servlet的天下,如今是各种框架横行,遇到一个需要将以前的Servlet加入到现有的Struts2的环境中. Google之后发现Sta ...
- 关于对MVC和MVVM的思考
前言:最近公司交给我一个web项目,其采用的框架是java中的zkoss,它不用于以往我平时用的mvc,它采用的mvvm模式,因为以前只理解过mvc,经常使用譬如SpringMvc.Struts2等框 ...
- 一个 rsync同步文件脚本
#/bin/bash cd /root/phone echo "update guanwang phone version" git pull ]; then echo " ...
- Nginx 静态资源缓存设置
在开发调试web的时候,经常会碰到因浏览器缓存(cache)而经常要去清空缓存或者强制刷新来测试的烦恼,提供下apache不缓存配置和nginx不缓存配置的设置.在常用的缓存设置里面有两种方式,都是使 ...
- Treap-平衡树学习笔记
平衡树-Treap学习笔记 最近刚学了Treap 发现这种数据结构真的是--妙啊妙啊~~ 咳咳.... 所以发一发博客,也是为了加深蒟蒻自己的理解 顺便帮助一下各位小伙伴们 切入正题 Treap的结构 ...
