溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在R語言中使用cut()函數(shù)

發(fā)布時間:2021-04-21 15:44:00 來源:億速云 閱讀:1965 作者:Leah 欄目:開發(fā)技術(shù)

怎么在R語言中使用cut()函數(shù)?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

什么是R語言

R語言是用于統(tǒng)計分析、繪圖的語言和操作環(huán)境,屬于GNU系統(tǒng)的一個自由、免費(fèi)、源代碼開放的軟件,它是一個用于統(tǒng)計計算和統(tǒng)計制圖的優(yōu)秀工具。

R語言cut()函數(shù)使用

cut()切割將x的范圍劃分為時間間隔,并根據(jù)其所處的時間間隔對x中的值進(jìn)行編碼。

參數(shù):breaks:兩個或更多個唯一切割點(diǎn)或單個數(shù)字(大于或等于2)的數(shù)字向量,給出x被切割的間隔的個數(shù)。

breaks采用fivenum():返回五個數(shù)據(jù):最小值、下四分位數(shù)、中位數(shù)、上四分位數(shù)、最大值。

labels為區(qū)間數(shù),打標(biāo)簽

ordered_result 邏輯結(jié)果應(yīng)該是一個有序的因素嗎?

先用fivenum求出5個數(shù),再用labels為每兩個數(shù)之間,貼標(biāo)簽,采用(]的區(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)

補(bǔ)充:R語言中使用CUT函數(shù)將數(shù)據(jù)進(jìn)行分段重編碼

在很多SCI論文中,都會把連續(xù)變量進(jìn)行分段比較,如年齡分為青年、中年、老年,或者把某一指標(biāo)連續(xù)高,中,低分為幾等分再進(jìn)行性分析,如下圖所示,把連續(xù)的孕周通過認(rèn)為的分為早孕、中孕和晚孕

怎么在R語言中使用cut()函數(shù)

在R語言中,實(shí)現(xiàn)這種方法,我們需要把連續(xù)變量進(jìn)行分段(也叫分箱)然后進(jìn)行重編碼對數(shù)據(jù)進(jìn)行分析,這一步很重要,這是為后面的分析做準(zhǔn)備。今天我們通過使用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)

怎么在R語言中使用cut()函數(shù)

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

head(bc)

怎么在R語言中使用cut()函數(shù)

第二個指標(biāo)是年齡,我們打算把年齡平局分為高中低三個區(qū)間

age1<-cut(bc$age,breaks = 3,labels = c(1,2,3))#平均分為3個區(qū)間,命名為1,2,3

怎么在R語言中使用cut()函數(shù)

dc<-cbind(bc,age1)#把變量加入表格

怎么在R語言中使用cut()函數(shù)

這樣就把年齡進(jìn)行了分組重編碼。我們還可以對具體年齡段進(jìn)行分組

age2<-cut(bc$age,breaks=c(0,20,60,100),include.lowest=T,
labels = c(1,2,3))#把a(bǔ)ge劃分為0-20,20-60,60到100這樣3個區(qū)間
dd<-cbind(bc,age2)#把變量加入表格

怎么在R語言中使用cut()函數(shù)

也可以按百分位比把年齡進(jìn)行分段

age3<-quantile(bc$age,c(0,.25,.50,.75,1))
dc<-cbind(bc,age3)#把變量加入表格

怎么在R語言中使用cut()函數(shù)

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI