cut函式把連續變數分割為類別
要將連續型變數變成離散型因子,需要對連續型變數進行切割,每個區間可成為乙個因子。可以用cut函式完成連續型變數的切割工作。
函式cut()能夠把數值變數切成不同的塊,然後返回乙個因子,對數值資料進行分組:使用cut函式對數值資料進行分組
cut(x,breaks,labels=null,include.lowest=false,right=true,dig.lab=3,ordered_result=false,...)
引數注釋x
數值變數
breaks
切割點向量,有兩個取值,單個整數(表示區分為幾個區間)和向量(按照向量裡面的數進行分割)
labels
每乙個分組的標籤,即離散化後因子的標籤,#labels為true時因子表示為區間,即標籤
right
邏輯值,預設為true(左開右閉);false(左閉右開)
ordered
true,生成有序因子
include.lowest
邏輯值,indicating if an 『x[i]』 equal to the lowest (or highest, for right = false) 『breaks』 value should be included.
dig.lab=n
表示區間分割值為n位小數
例1
x<-rep(0:3,c(1,2,3,4))
x# [1] 0 1 1 2 2 2 3 3 3 3
length(x)
#[1] 10
cut(x,breaks=0:3)
#結果[1] (0,1] (0,1] (1,2] (1,2] (1,2] (2,3]
[8] (2,3] (2,3] (2,3]
levels: (0,1] (1,2] (2,3]
#解釋:
breaks=0:3,即0,1,2,3;由於right為預設值(左開右閉),所以將
區間分為(0,1]、(1,2]、(2,3]
x的值為0 1 1 2 2 2 3 3 3 3
#x
#[1] 0 1 1 2 2 2 3 3 3 3
cut(x,c(-inf,0,1,2,3,inf))
#結果[1] (-inf,0] (0,1] (0,1] (1,2] (1,2]
[6] (1,2] (2,3] (2,3] (2,3] (2,3]
5 levels: (-inf,0] (0,1] (1,2] ... (3, inf]
#5個區間,預設左開右閉
#0屬於區間(-inf,0],返回(-inf,0]
#1屬於區間(0,1],返回(0,1]
...
例2
y<-c(1,2,3,4,5,2,3,4,5,6,7)
cut(y,3,dig.lab=4,ordered=true)
#breaks為單個整數,表示區分為幾個區間
#dig.lab表示區間分割值為4位小數
#ordered=true,生成有序因子
#結果[1] (0.994,3] (0.994,3] (0.994,3] (3,5]
[5] (3,5] (0.994,3] (0.994,3] (3,5]
[9] (3,5] (5,7.006] (5,7.006]
levels: (0.994,3] < (3,5] < (5,7.006]
例3:
現在想將年齡age分為小孩,青年,中年,老年,可將區間分為
age<=12的為小孩;1260的為老年,使用cut函式,**如下;
age<-c(55,12,30,9,22,24,78,109,45,66,49)
height<-c(156,175,154,165,184,125,148,168,155,157,168)
dd<-data.frame(age,height)
dd#結果
age height
1 55 156
2 12 175
3 30 154
4 9 165
5 22 184
6 24 125
7 78 148
8 109 168
9 45 155
10 66 157
11 49 168
a<-cut(dd$age,breaks=c(-inf,12,30,60,inf),
labels = c("小孩","青年","中年","老年"))
dd<-cbind(dd,a)
dd#結果
age height a
1 55 156 中年
2 12 175 小孩
3 30 154 青年
4 9 165 小孩
5 22 184 青年
6 24 125 青年
7 78 148 老年
8 109 168 老年
9 45 155 中年
10 66 157 老年
11 49 168 中年
R語言中cut 函式的用法?
r語言中cut 函式的用法?cut 切割將x的範圍劃分為時間間隔,並根據其所處的時間間隔對x中的值進行編碼。引數 breaks 兩個或更多個唯一切割點或單個數字 大於或等於2 的數字向量,給出x被切割的間隔的個數。breaks 採用fivenum 返回五個資料 最小值 下四分位數 中位數 上四分位數...
R語言中之分布函式
r語言中提供了四類有關統計分布的函式,以下為函式和相應字首 d 概率密度函式 p 累計分布函式 q 分位函式 r 隨機數函式 下表為分布函式表,加上不同的字首表示不同的含義 分布函式 分布 r中名字 附加引數 beta beta shape1 shape2 ncpbinomial binom siz...
R語言中泛型函式
r語言1.0 toc whoami function x,usemethod whoami whoami.foo function x print i am a foo whoami.bar function x print i am a bar whoami.default function x ...