如果R資料框中某些列是分類列,如何標準化這些列?


為了標準化R資料框中某些列是分類列的情況,我們可以按照以下步驟進行:

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

  • 然後,使用plyr包中的numcolwise函式來標準化某些列是分類列的情況下的列。

示例

建立資料框

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

Level<-sample(c("low","medium","high"),25,replace=TRUE)
Group<-sample(c("first","second"),25,replace=TRUE)
Score<-sample(1:50,25)
Demand<-sample(1:100,25)
df<-data.frame(Level,Group,Score,Demand)
df

輸出

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

   Level  Group   Score Demand
1  high   second  37    31
2  medium second  43    89
3  medium second  31    50
4  medium first   16    60
5  low    first   23    29
6  low    second   3    26
7  medium first   26    55
8  low    first    9     9
9  high   second  14     3
10 medium first   33    36
11 low    second  15    34
12 medium first   19    85
13 medium second  41    71
14 medium second  50    78
15 low    second  36    69
16 medium second  17    49
17 high   second  38    76
18 high   first    6    99
19 low    first   35    91
20 medium first   39    12
21 low    first   47    62
22 medium second  45    59
23 medium first   44    64
24 medium second  21    25
25 high   second  11    57

查詢某些列是分類列時的標準化值

使用plyr包中的numcolwise函式來標準化資料框df中的數值列:

Level<-sample(c("low","medium","high"),25,replace=TRUE)
Group<-sample(c("first","second"),25,replace=TRUE)
Score<sample(1:50,25)
Demand<-sample(1:100,25)
df<-data.frame(Level,Group,Score,Demand)
library(plyr)
numcolwise(scale)(df)

輸出

      Score       Demand
1  -0.02029767  0.99612442
2  -0.81770624  0.46627101
3   0.41465246  0.61765770
4  -0.38275611 -1.76668267
5   1.42953609  1.37459115
6   1.06707765  1.03397109
7   0.63212752 -1.31252260
8  -0.60023118 -0.36635579
9   0.99458596  0.73119771
10 -0.16528105  0.69335104
11 -1.25265637 -0.70697584
12  0.84960258 -0.85836253
13 -0.52773949 -0.10142908
14  0.19717739 -1.69098933
15 -1.10767299  0.84473773
16 -1.47013143 -1.27467593
17  0.55963583  1.14751111
18 -1.83258988 -1.50175597
19  1.35704440 -0.17712243
20 -0.74521455  0.54196435
21 -0.67272287 -0.06358241
22  1.28455271 -0.25281577
23  0.48714414  0.76904439
24  1.50202778 -0.59343583
25 -1.18016468  1.45028449

更新時間: 2021年11月10日

147 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.