如何在 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 次查看

开启你的 职业生涯

通过完成课程获得认证

开始
广告