如何在 R 資料框中將每列的值四捨五入到小數點後兩位,即使某些列是分類的?


要在 R 資料框中將每列的值四捨五入到小數點後兩位,即使某些列是分類的,我們可以按照以下步驟操作:

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

  • 然後,使用 plyr 包中的 numcolwise 函式將每列的值四捨五入到小數點後兩位,即使某些列是分類的。

示例

建立資料框

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

Level<-sample(c("low","medium","high"),25,replace=TRUE)
Group<-sample(c("first","second"),25,replace=TRUE)
DV1<-rnorm(25)
DV2<-rnorm(25)
df<-data.frame(Level,Group,DV1,DV2)
df

輸出

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

   Level  Group     DV1         DV2
1  high   second  0.44421128 -1.64570047
2  high   first   1.43670027 -0.88397636
3  low    second -1.18341254  1.60293111
4  high   first  -0.62283226 -0.19380057
5  medium first   1.00604412  0.25331793
6  low    second  1.40551557 -0.18606767
7  high   second -2.35957053  0.67014007
8  medium first   0.80687847 -1.45673170
9  high   first  -0.54953362  0.56315219
10 medium second -0.04559434  0.21357310
11 medium second -0.31043620 -0.53737110
12 low    first   1.01480003 -0.21291348
13 low    second  0.93591125  0.31726701
14 medium second  0.15091510 -0.44046938
15 low    first  -0.12028441 -1.04923163
16 medium second  3.26870341 -0.12206452
17 low    first   0.43235968 -0.30970690
18 high   first   0.30046505 -0.50644433
19 high   first  -1.93352142 -1.06623806
20 medium first   1.00902072  0.09869907
21 medium second -0.75597488  0.03825807
22 high   second -0.45890036 -1.58441677
23 high   second -4.05130949 -0.51986084
24 medium second -0.15283662  0.30010858
25 high   second -0.97502595  0.01697664

如果某些列是分類的,則將每列中的每個值四捨五入到小數點後兩位

使用 plyr 包中的 numcolwise 函式將資料框 df 中數值列中的每個值四捨五入到小數點後兩位,即使某些列是分類的:

Level<-sample(c("low","medium","high"),25,replace=TRUE)
Group<-sample(c("first","second"),25,replace=TRUE)
DV1<-rnorm(25)
DV2<-rnorm(25)
df<-data.frame(Level,Group,DV1,DV2)
library(plyr)
numcolwise(round,2)(df)

輸出

     DV1   DV2
1   0.44 -1.65
2   1.44 -0.88
3  -1.18  1.60
4  -0.62 -0.19
5   1.01  0.25
6   1.41 -0.19
7  -2.36  0.67
8   0.81 -1.46
9  -0.55  0.56
10 -0.05  0.21
11 -0.31 -0.54
12  1.01 -0.21
13  0.94  0.32
14  0.15 -0.44
15 -0.12 -1.05
16  3.27 -0.12
17  0.43 -0.31
18  0.30 -0.51
19 -1.93 -1.07
20  1.01  0.10
21 -0.76  0.04
22 -0.46 -1.58
23 -4.05 -0.52
24 -0.15  0.30
25 -0.98  0.02

更新於: 2021年11月9日

474 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.