如何在 R 数据框中查找每列的值的对数(log10),其中某些列是分类变量?


如果 R 数据框中某些列是分类变量,要查找每个值的 log10,我们可以按照以下步骤操作:

  • 首先,创建一个数据框。

  • 然后,使用 plyr 包中的 numcolwise 函数,如果某些列是分类变量,则查找 log10。

示例

创建数据框

让我们创建一个如下所示的数据框:

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  low    second  30      9
2  high   first   42     48
3  medium first   14     88
4  high   second  27     63
5  high   first   37     97
6  medium first   38     39
7  high   second  13     18
8  high   first   16     14
9  low    second  40     90
10 medium first   25     53
11 low    second  48     78
12 high   second  28     64
13 low    first   22     32
14 medium first    1     31
15 high   first    2     21
16 low    second  17     26
17 high   first    5     41
18 medium first   49     85
19 low    second  45     29
20 low    first    9     49
21 medium first   31     44
22 medium first   29     46
23 high   second  10     36
24 low    second  21     33
25 low    second  35     40

如果某些列是分类变量,则查找 log10

使用 plyr 包中的 numcolwise 函数查找数据框 df 中每个数值列的值的 log10:

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(log10)(df)

输出

     Score     Demand
1  1.2552725 1.851258
2  1.3424227 1.477121
3  1.6334685 1.041393
4  1.6020600 1.986772
5  1.6532125 1.944483
6  1.5910646 1.934498
7  1.5440680 1.897627
8  1.2787536 1.977724
9  1.4913617 1.857332
10 1.5051500 0.602060
11 1.5682017 1.505150
12 1.3979400 1.230449
13 0.8450980 1.681241
14 0.6989700 1.748188
15 1.6720979 0.903090
16 1.4623980 1.863323
17 1.0000000 1.799341
18 1.1139434 1.380211
19 1.5563025 1.982271
20 0.9542425 0.698970
21 0.7781513 1.633468
22 1.0413927 1.707570
23 1.5797836 1.792392
24 1.6901961 1.556303
25 1.6989700 1.806180

更新于: 2021 年 11 月 10 日

134 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告