有网友问了,我如何对连续型资料进行分组,常见的有按照中位数分组、四分位数分组,甚至分为5组。

这个问题其实很简单的了。

用两个函数,一个是quantile函数,另外一个是cut函数

1. quantile()函数的应用

该函数目的是获得分组界值

比如说,求某个百分位比

data <- c(1,2,3,4,5,6,7,8,9,10,5,6,7,43,9,4,12,46,22,0,14,15,3,5,7,9,4,22)
quantile(data,0.5)

结果就是

R语言分析:如何轻松地把数据分为三、四、五等份?-LMLPHP

又比如,五分位数

quantile(data,c(0.2,0.4,0.6,0.8))

R语言分析:如何轻松地把数据分为三、四、五等份?-LMLPHP

至于四分位数,那更简单了

quantile(data)

R语言分析:如何轻松地把数据分为三、四、五等份?-LMLPHP

还可以按照固定序列进行,

quantile(data,seq(0.1,1,0.1),na.rm=T)

R语言分析:如何轻松地把数据分为三、四、五等份?-LMLPHP

2. cut()函数的应用

在quantile()的结果基础上,接着可以使用cut()函数来进行连续型变成分类数据。

比如,把刚才的data向量变成4分组,那么,在breaks设置四分位数值4.0,7.0,10.5即可

new<-cut(data,breaks=c(-Inf,4.0,7.0,10.5,Inf),labels = FALSE)
table(new)

R语言分析:如何轻松地把数据分为三、四、五等份?-LMLPHP

也可以增加labels,如此一来就直接变为分类变量的因子了。

new<-cut(data,breaks=c(-Inf,4.0,7.0,10.5,Inf),labels = c("Q1","Q2","Q3","Q4"))
table(new)
is.factor(new)

R语言分析:如何轻松地把数据分为三、四、五等份?-LMLPHP

就这么简单!

3. 风暴统计平台的快速分组的办法

郑老师的统计分析平台,就是利用这个原理开展的数据整理的功能,基本上所有模块都存在着这个功能,形成的数据集还可以下载备用。

https://www.medsta.cn/software

请百度风暴统计或者直接复制网址到电脑端打开。

R语言分析:如何轻松地把数据分为三、四、五等份?-LMLPHP

这个功能很强大,很方便,既可以根据自己的需要设置分类界值,也可以按照四分位数分组、或者中位数分组。


欢迎使用郑老师的统计分析平台!


本公众提供各种科研服务了!

09-29 19:28