如何在 R 中擷取具有最小值的資料框列?
要擷取具有最小值的資料框列,我們需要使用 `min` 函式在 `cut` 函式中指定最小值,並將 `include.lowest` 引數設定為 `TRUE`。我們還可以指定最大值,以便在擷取列時也將最大值考慮在內。
示例 1
以下程式碼片段建立了一個示例資料框 -
x<-rpois(20,5) df1<-data.frame(x) df1
建立了以下資料框 -
x 1 6 2 7 3 4 4 3 5 6 6 2 7 7 8 2 9 3 10 2 11 5 12 4 13 3 14 8 15 11 16 2 17 6 18 3 19 3 20 4
要擷取具有最小值和最大值的列 x,請將以下程式碼新增到上述程式碼片段中 -
cut(df1$x,c(min(df1$x),3:10,max(df1$x)),include.lowest=TRUE)
輸出
如果您將以上所有程式碼片段作為單個程式執行,則會生成以下輸出 -
[1] (5,6] (6,7] (3,4] [2,3] (5,6] [2,3] (6,7] [2,3] [2,3] [10] [2,3] (4,5] (3,4] [2,3] (7,8] (10,11] [2,3] (5,6] [2,3] [19] [2,3] (3,4] Levels: [2,3] (3,4] (4,5] (5,6] (6,7] (7,8] (8,9] (9,10] (10,11]
示例 2
以下程式碼片段建立了一個示例資料框 -
y<-rpois(20,10) df2<-data.frame(y) df2
建立了以下資料框 -
y 1 16 2 10 3 11 4 5 5 12 6 10 7 8 8 6 9 11 10 3 11 13 12 12 13 10 14 11 15 8 16 9 17 7 18 8 19 8 20 9
要擷取具有最小值和最大值的列 y,請將以下程式碼新增到上述程式碼片段中 -
cut(df2$y,c(min(df2$y),4:15,max(df2$y)),include.lowest=TRUE)
輸出
如果您將以上所有程式碼片段作為單個程式執行,則會生成以下輸出 -
[1] (15,16] (9,10] (10,11] (4,5] (11,12] (9,10] (7,8] (5,6] (10,11] [10] [3,4] (12,13] (11,12] (9,10] (10,11] (7,8] (8,9] (6,7] (7,8] [19] (7,8] (8,9] 13 Levels: [3,4] (4,5] (5,6] (6,7] (7,8] (8,9] (9,10] (10,11] ... (15,16]
示例 3
以下程式碼片段建立了一個示例資料框 -
df3<-data.frame(z) df3
建立了以下資料框 -
z 1 3 2 2 3 1 4 2 5 1 6 6 7 2 8 2 9 2 10 1 11 0 12 1 13 1 14 1 15 2 16 1 17 3 18 0 19 4 20 2
要擷取具有最小值和最大值的列 z,請將以下程式碼新增到上述程式碼片段中 -
cut(df3$z,c(min(df3$z),1:5,max(df3$z)),include.lowest=TRUE)
輸出
如果您將以上所有程式碼片段作為單個程式執行,則會生成以下輸出 -
[1] (2,3] (1,2] [0,1] (1,2] [0,1] (5,6] (1,2] (1,2] (1,2] [0,1] [0,1] [0,1] [13] [0,1] [0,1] (1,2] [0,1] (2,3] [0,1] (3,4] (1,2] Levels: [0,1] (1,2] (2,3] (3,4] (4,5] (5,6]
廣告