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

启动你的职业生涯

完成课程获得认证

开始学习
广告