这篇文章主要介绍了R语言中cut()函数的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
R语言cut()函数使用
cut()
切割将x的范围划分为时间间隔,并根据其所处的时间间隔对x中的值进行编码。
参数:breaks:两个或更多个唯一切割点或单个数字(大于或等于2)的数字向量,给出x被切割的间隔的个数。
breaks
采用fivenum():返回五个数据:最小值、下四分位数、中位数、上四分位数、最大值。
labels
为区间数,打标签
ordered_result 逻辑
结果应该是一个有序的因素吗?
先用fivenum求出5个数,再用labels为每两个数之间,贴标签,采用(]的区间, 再将各个数,对应区间,求出即可
>j1<-c(23,62,72,80,59,82,90,43,94)
break1<-fivenum(j1)
> break1
[1] 23 59 72 82 94
> labels = c("差", "中", "良", "优")
> j2<-cut(j1,break1,labels,ordered_result = T)
> j2
[1] <NA> 中 中 良 差 良 优 差 优
Levels: 差 < 中 < 良 < 优
补充:R语言中使用CUT函数将数据进行分段重编码
在很多SCI论文中,都会把连续变量进行分段比较,如年龄分为青年、中年、老年,或者把某一指标连续高,中,低分为几等分再进行性分析,如下图所示,把连续的孕周通过认为的分为早孕、中孕和晚孕
在R语言中,实现这种方法,我们需要把连续变量进行分段(也叫分箱)然后进行重编码对数据进行分析,这一步很重要,这是为后面的分析做准备。今天我们通过使用R语言自带的CUT函数来演示对数据的分段重编码及数据整理。
我们今天使用SPSS软件自带的Breast cancer surviva的数据资料为演示,先打开Rstudiu把数据导入,并且删除缺失值
library(foreign)#导入foreign包
bc <- read.spss(“E:/r/Breast cancer survival agec.sav”,
use.value.labels=F, to.data.frame=T)
bc <- na.omit(bc)
查看一下该数据
head(bc)
第二个指标是年龄,我们打算把年龄平局分为高中低三个区间
age1<-cut(bc$age,breaks = 3,labels = c(1,2,3))#平均分为3个区间,命名为1,2,3
dc<-cbind(bc,age1)#把变量加入表格
这样就把年龄进行了分组重编码。我们还可以对具体年龄段进行分组
age2<-cut(bc$age,breaks=c(0,20,60,100),include.lowest=T,
labels = c(1,2,3))#把age划分为0-20,20-60,60到100这样3个区间
dd<-cbind(bc,age2)#把变量加入表格
也可以按百分位比把年龄进行分段
age3<-quantile(bc$age,c(0,.25,.50,.75,1))
dc<-cbind(bc,age3)#把变量加入表格
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。如有错误或未考虑完全的地方,望不吝赐教。
本文标题为:R语言中cut()函数的用法说明
基础教程推荐
- R语言数可视化Split violin plot小提琴图绘制方法 2022-12-10
- swift版webview加载网页进度条效果 2023-07-05
- swift 字符串String的使用方法 2023-07-05
- R包ggtreeExtra绘制进化树 2022-12-14
- asm基础——汇编指令之in/out指令 2023-07-06
- R语言基于Keras的MLP神经网络及环境搭建 2022-12-10
- ruby-on-rails-使用Nginx的Rails的多阶段环境 2023-09-21
- R语言-如何将科学计数法表示的数字转化为文本 2022-11-23
- UEFI开发基础HII代码示例 2023-07-07
- Go web部署报错panic: listen tcp xxxxxxx:8090: bind: cannot assign requested address 2023-09-05