如何在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  low    first   0.3113086 -0.560410192
2  high   second  1.2462502 -0.839353354
3  high   second -0.1069003  0.876603377
4  low    second  0.7132453  0.444083125
5  high   second -0.9718300  0.719396980
6  medium first  -1.1686395  0.692503766
7  high   first   0.2996904  1.549099366
8  medium first   0.1843041 -0.623725508
9  medium first  -0.2806531  0.265089090
10 medium second -0.1707617  0.783538873
11 medium second -0.3580571  0.367009599
12 low    second -0.7904927 -0.363554432
13 high   second  1.2020259 -0.990149369
14 medium first   0.1223149 -0.096059087
15 high   second -0.2941084 -0.584607516
16 medium first   0.8305360 -0.521546585
17 high   first   1.3346562 -0.234318326
18 medium first  -0.6467870 -0.002709633
19 medium second  0.2400778 -0.969352846
20 low    first   0.4702012  0.168694928
21 medium first  -0.5836102  0.145309996
22 low    second  1.0728229  0.641423060
23 low    first  -0.2079424 -0.603290667
24 medium first   0.6148493 -0.919263451
25 high   second -0.1642258  0.065443836

對某些列為類別型的列中的每個值進行舍入

使用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)(df)

輸出

   DV1 DV2
1   0 -1
2   1 -1
3   0  1
4   1  0
5  -1  1
6  -1  1
7   0  2
8   0 -1
9   0  0
10  0  1
11  0  0
12 -1  0
13  1 -1
14  0  0
15  0 -1
16  1 -1
17  1  0
18 -1  0
19  0 -1
20  0  0
21 -1  0
22  1  1
23  0 -1
24  1 -1
25  0  0

更新於:2021年11月10日

74 次檢視

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.