怎么在R语言中使用cut()函数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
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)#把变量加入表格
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。