R語言中cut()函數(shù)的用法說明
R語言cut()函數(shù)使用
cut()切割將x的范圍劃分為時間間隔,并根據(jù)其所處的時間間隔對x中的值進行編碼。
參數(shù):breaks:兩個或更多個唯一切割點或單個數(shù)字(大于或等于2)的數(shù)字向量,給出x被切割的間隔的個數(shù)。
breaks采用fivenum():返回五個數(shù)據(jù):最小值、下四分位數(shù)、中位數(shù)、上四分位數(shù)、最大值。
labels為區(qū)間數(shù),打標簽
ordered_result 邏輯結(jié)果應(yīng)該是一個有序的因素嗎?
先用fivenum求出5個數(shù),再用labels為每兩個數(shù)之間,貼標簽,采用(]的區(qū)間, 再將各個數(shù),對應(yīng)區(qū)間,求出即可
>j1<-c(23,62,72,80,59,82,90,43,94)
break1<-fivenum(j1)
> break1
[1] 23 59 72 82 94
> labels = c("差", "中", "良", "優(yōu)")
> j2<-cut(j1,break1,labels,ordered_result = T)
> j2
[1] <NA> 中 中 良 差 良 優(yōu) 差 優(yōu)
Levels: 差 < 中 < 良 < 優(yōu)
補充:R語言中使用CUT函數(shù)將數(shù)據(jù)進行分段重編碼
在很多SCI論文中,都會把連續(xù)變量進行分段比較,如年齡分為青年、中年、老年,或者把某一指標連續(xù)高,中,低分為幾等分再進行性分析,如下圖所示,把連續(xù)的孕周通過認為的分為早孕、中孕和晚孕

在R語言中,實現(xiàn)這種方法,我們需要把連續(xù)變量進行分段(也叫分箱)然后進行重編碼對數(shù)據(jù)進行分析,這一步很重要,這是為后面的分析做準備。今天我們通過使用R語言自帶的CUT函數(shù)來演示對數(shù)據(jù)的分段重編碼及數(shù)據(jù)整理。
我們今天使用SPSS軟件自帶的Breast cancer surviva的數(shù)據(jù)資料為演示,先打開Rstudiu把數(shù)據(jù)導(dǎo)入,并且刪除缺失值
library(foreign)#導(dǎo)入foreign包 bc <- read.spss(“E:/r/Breast cancer survival agec.sav”, use.value.labels=F, to.data.frame=T) bc <- na.omit(bc)

查看一下該數(shù)據(jù)
head(bc)

第二個指標是年齡,我們打算把年齡平局分為高中低三個區(qū)間
age1<-cut(bc$age,breaks = 3,labels = c(1,2,3))#平均分為3個區(qū)間,命名為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個區(qū)間 dd<-cbind(bc,age2)#把變量加入表格

也可以按百分位比把年齡進行分段
age3<-quantile(bc$age,c(0,.25,.50,.75,1)) dc<-cbind(bc,age3)#把變量加入表格

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
R語言 實現(xiàn)將factor轉(zhuǎn)換成numeric方法
這篇文章主要介紹了R語言 實現(xiàn)將factor轉(zhuǎn)換成numeric方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
R語言實現(xiàn)各種數(shù)據(jù)可視化的超詳細教程
Python語言越來越流行,尤其是在機器學(xué)習(xí)與深度學(xué)習(xí)等領(lǐng)域,但是R語言在數(shù)據(jù)分析與可視化方面仍然具有絕對的優(yōu)勢,下面這篇文章主要給大家介紹了關(guān)于R語言實現(xiàn)各種數(shù)據(jù)可視化的超詳細教程,需要的朋友可以參考下2022-11-11

