如果R資料框中某些列是分類列,如何查詢列最大值?


如果R資料框中某些列是分類列,要查詢列最大值,我們可以按照以下步驟操作:

  • 首先,建立一個數據框。

  • 然後,使用plyr包中的numcolwise函式來查詢某些列是分類列時列的最大值。

示例1

建立資料框

讓我們建立一個如下所示的資料框:

Group<-sample(c("I","II","III","IV"),25,replace=TRUE)
Num1<-sample(1:50,25)
Num2<-sample(1:50,25)
df1<-data.frame(Group,Num1,Num2)
df1

輸出

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出將在您的系統上有所不同):

   Group Num1 Num2
1  III   43   36
2   I    5    22
3  IV    3    23
4  II   40    40
5  IV   47    33
6  II   12     3
7  II   31    21
8  IV   34    20
9  I    41    44
10 II    7     8
11 II   35    45
12 III  50    25
13 III  19    16
14 III  11    34
15 I     1    28
16 III  21    31
17 IV    9    47
18 III  15     9
19 I    23    11
20 III  45    24
21 I    37    26
22 I    13    32
23 I    27    30
24 II    2    10
25 I    48    12

如果某些列是分類列,則查詢列最大值

使用plyr包中的numcolwise函式查詢資料框df1中數值列的列最大值:

Group<-sample(c("I","II","III","IV"),25,replace=TRUE)
Num1<-sample(1:50,25)
Num2<-sample(1:50,25)
df1<-data.frame(Group,Num1,Num2)
library(plyr)
numcolwise(max)(df1)

輸出

  Num1 Num2
1  50   47

示例2

建立資料框

讓我們建立一個如下所示的資料框:

Categories<-sample(c("First","Second","Third"),25,replace=TRUE)
Score<-sample(1:10,25,replace=TRUE)
Price<-sample(1:5,25,replace=TRUE)
df2<-data.frame(Categories,Score,Price)
df2

輸出

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出將在您的系統上有所不同):

   Categories Score Price
1  Third      6      1
2  Second     7      1
3  Second     5      5
4  First      8      3
5  Third      5      2
6  First      9      2
7  Third      6      5
8  First      9      4
9  First      4      1
10 Second     4      5
11 Second     2      1
12 First      9      3
13 Second     4      3
14 First      4      2
15 Third      5      4
16 Third      2      5
17 First      1      4
18 First      2      1
19 Third      2      5
20 Second     1      1
21 Third      7      1
22 Second     4      2
23 First     10      1
24 Third      6      4
25 First      8      4

如果某些列是分類列,則查詢列最大值

使用plyr包中的numcolwise函式查詢資料框df2中數值列的列最大值:

Categories<-sample(c("First","Second","Third"),25,replace=TRUE)
Score<-sample(1:10,25,replace=TRUE)
Price<-sample(1:5,25,replace=TRUE)
df2<-data.frame(Categories,Score,Price)
library(plyr)
numcolwise(max)(df2)

輸出

  Score Price
1  10    5

更新於: 2021年11月9日

138 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.