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

有网友问了,我如何对连续型资料进行分组,常见的有按照中位数分组、四分位数分组,甚至分为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)

结果就是

bb5494df9a58fa4f952cbd31ed30fd00.png

又比如,五分位数

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

70645846b0c347f2582d547645071315.png

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

quantile(data)

8645abf28c937895eb59f0d3df2de25e.png

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

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

91dc273d22fc2c3d442e705f66f6f171.png

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)

6feb9c2b49e6edde70aec2d4bdbf4342.png

也可以增加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)

020af976b5fbc8948d8eec5e0a036ead.png

就这么简单!

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

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

https://www.medsta.cn/software

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

6812f8e956fe5c925b8e410fd674129d.png

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

8bb6edebf477621390fa5e26db7f6770.png

bf53b33bc65b4048795e4cbd9d66b4a3.jpeg

05a42d4bb719467c344652752d060dc7.png

8e728fa8ff97b0a99a4c1b2b7dbf6c2d.jpeg


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


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

一、课程培训

2022年以来,我们召集了一批富有经验的高校专业队伍,着手举行短期统计课程培训班,包括R语言、meta分析、临床预测模型、真实世界临床研究、问卷与量表分析、医学统计与SPSS、临床试验数据分析、重复测量资料分析、nhanes、孟德尔随机化等10门课。如果您有需求,不妨点击查看:

发表文章后退款!2023年郑老师团队多门科研统计直播课程,欢迎报名

二、统计服务

为团队发展,我们将与各位朋友合作共赢,本团队将开展统计分析服务,帮忙进行临床科研。欢迎了解详情:

医学统计服务| 医公共数据库论文一对一指导

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用QSplitter类和QHBoxLayout类将窗口等分为左边,右边。下面是一个简单的示例代码: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QSplitter, QHBoxLayout, QTextEdit class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): # 创建QSplitter控件 splitter1 = QSplitter(self) splitter2 = QSplitter(self) # 创建六个文本框 text1 = QTextEdit() text2 = QTextEdit() text3 = QTextEdit() text4 = QTextEdit() text5 = QTextEdit() text6 = QTextEdit() # 将左边个文本框添加到第一个QSplitter控件中 splitter1.addWidget(text1) splitter1.addWidget(text2) splitter1.addWidget(text3) # 将右边个文本框添加到第二个QSplitter控件中 splitter2.addWidget(text4) splitter2.addWidget(text5) splitter2.addWidget(text6) # 创建水平布局并添加两个QSplitter控件 hbox = QHBoxLayout() hbox.addWidget(splitter1) hbox.addWidget(splitter2) # 创建一个QWidget控件,并将水平布局设置为该控件的布局 widget = QWidget() widget.setLayout(hbox) # 将QWidget控件设置为主窗口的中心窗口 self.setCentralWidget(widget) # 设置主窗口的标题和大小 self.setWindowTitle('Splitter') self.setGeometry(300, 300, 600, 400) self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) ``` 在上面的示例代码中,我们创建了两个QSplitter控件,并将左边个QTextEdit控件添加到第一个QSplitter控件中,将右边个QTextEdit控件添加到第二个QSplitter控件中。然后,我们创建了一个QHBoxLayout控件,并将两个QSplitter控件添加到该布局中。最后,我们将该布局设置为一个QWidget控件的布局,并将该控件设置为主窗口的中心窗口。这样,我们就成功地将窗口等分为左边,右边了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值