如果某些列在 R 数据框中是分类的,如何在列中找到每个值的日志?
如果某些列在 R 数据框中是分类的,要查找每个值的日志,我们可以按照以下步骤操作 -
首先,创建一个数据框。
然后,如果某些列是分类列,则使用 plyr 包中的 numcolwise 函数查找日志。
示例
创建数据框
让我们创建一个数据框,如下所示 -
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
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
Level Group Score Demand1 low first 32 83
2 medium first 21 97
3 medium first 30 46
4 medium first 25 99
5 medium second 10 63
6 low second 11 2
7 medium first 17 98
8 low first 8 81
9 high second 23 23
10 high first 16 68
11 high second 33 60
12 medium second 9 52
13 medium second 6 56
14 medium first 45 40
15 low second 31 14
16 low first 26 72
17 high second 18 77
18 medium first 43 85
19 medium first 34 73
20 medium second 12 64
21 low second 39 29
22 medium first 36 37
23 low second 15 33
24 medium second 14 57
25 low second 37 35
如果某些列是分类的,则查找日志
使用 plyr 包中的 numcolwise 函数查找数据框 df 中数值列中每个值的对数 -
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(log)(df)
Score Demand1 3.465736 4.4188406
2 3.044522 4.5747110
3 3.401197 3.8286414
4 3.218876 4.5951199
5 2.302585 4.1431347
6 2.397895 0.6931472
7 2.833213 4.5849675
8 2.079442 4.3944492
9 3.135494 3.1354942
10 2.772589 4.2195077
11 3.496508 4.0943446
12 2.197225 3.9512437
13 1.791759 4.0253517
14 3.806662 3.6888795
15 3.433987 2.6390573
16 3.258097 4.2766661
17 2.890372 4.3438054
18 3.761200 4.4426513
19 3.526361 4.2904594
20 2.484907 4.1588831
21 3.663562 3.3672958
22 3.583519 3.6109179
23 2.708050 3.4965076
24 2.639057 4.0430513
25 3.610918 3.5553481
以上是 如果某些列在 R 数据框中是分类的,如何在列中找到每个值的日志? 的全部内容, 来源链接: utcz.com/z/317249.html