如何在存储在 R 列表中的数据框中创建以 2 为底的对数列?


为了在存储在 R 列表中的数据框中创建以 2 为底的对数列,我们可以按照以下步骤操作:

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

  • 然后,使用 lapply 函数在列表中存储的数据框中创建以 2 为底的对数列。

示例

创建数据框列表

使用 data.frame 函数创建数据框,并使用 list 函数创建这些数据框的列表:

df1<-data.frame(x=sample(1:100,25))
df2<-data.frame(x=sample(1:100,25))
List<-list(df1,df2)
List

输出

执行上述脚本后,会生成以下输出(由于随机化,此输出在您的系统上可能会有所不同):

[[1]]
    x
1   5
2  70
3  75
4  19
5  41
6  52
7  55
8  90
9   1
10 81
11 18
12 65
13 10
14 21
15  9
16 69
17 94
18 63
19 28
20 51
21 62
22 36
23 98
24 39
25 50
[[2]]
    x
1  33
2  58
3  59
4  12
5   3
6  60
7  11
8  50
9  10
10 16
11 76
12 25
13 88
14 92
15 46
16 57
17  6
18 91
19 71
20 35
21 32
22 65
23 19
24 53
25 82

在列表中存储的数据框中创建以 2 为底的对数列

使用 lapply 函数在名为 List 的列表中存储的数据框 df1 和 df2 中创建以 2 为底的对数列,如下所示:

df1<-data.frame(x=sample(1:100,25))
df2<-data.frame(x=sample(1:100,25))
List<-list(df1,df2)
lapply(List,function(x) {
+ x$LogBase2<-log2(x$x)
+ return(x)
+ })

输出

[[1]]
    x LogBase2
1   5 2.321928
2  70 6.129283
3  75 6.228819
4  19 4.247928
5  41 5.357552
6  52 5.700440
7  55 5.781360
8  90 6.491853
9   1 0.000000
10 81 6.339850
11 18 4.169925
12 65 6.022368
13 10 3.321928
14 21 4.392317
15  9 3.169925
16 69 6.108524
17 94 6.554589
18 63 5.977280
19 28 4.807355
20 51 5.672425
21 62 5.954196
22 36 5.169925
23 98 6.614710
24 39 5.285402
25 50 5.643856
[[2]]
   x LogBase2
1  33 5.044394
2  58 5.857981
3  59 5.882643
4  12 3.584963
5   3 1.584963
6  60 5.906891
7  11 3.459432
8  50 5.643856
9  10 3.321928
10 16 4.000000
11 76 6.247928
12 25 4.643856
13 88 6.459432
14 92 6.523562
15 46 5.523562
16 57 5.832890
17  6 2.584963
18 91 6.507795
19 71 6.149747
20 35 5.129283
21 32 5.000000
22 65 6.022368
23 19 4.247928
24 53 5.727920
25 82 6.357552

更新时间: 2021-11-09

145 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告