如何在存储在R列表中的数据框中创建log(1+x)列?


要在存储在R列表中的数据框中创建log(1+x)列,我们可以按照以下步骤操作:

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

  • 然后,使用lapply函数在列表中存储的数据框中创建log(1+x)列。

示例

创建数据框列表

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

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

输出

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

  [[1]]
    x
1   1
2  49
3  41
4  29
5  39
6  25
7   5
8  35
9  33
10 18
11 13
12 11
13 44
14 27
15 46
16  4
17 17
18 34
19 42
20  6
21 50
22 28
23  2
24 43
25 32
[[2]]
   x
1  19
2  18
3  21
4  38
5  46
6  29
7  22
8  35
9  16
10  7
11 23
12 28
13 15
14 11
15 42
16  2
17 43
18 31
19 34
20  1
21 47
22 14
23 24
24 12
25  3

在列表中存储的数据框中创建log(1+x)列

使用lapply函数在名为List的列表中存储的df1和df2数据框中创建log(1+x)列,如下所示:

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

输出

     [[1]]
   x  NaturalLog1PlusX
1  1   0.6931472
2 49   3.9120230
3 41   3.7376696
4 29   3.4011974
5 39   3.6888795
6 25   3.2580965
7 5    1.7917595
8 35   3.5835189
9 33   3.5263605
10 18  2.9444390
11 13  2.6390573
12 11  2.4849066
13 44  3.8066625
14 27  3.3322045
15 46  3.8501476
16 4   1.6094379
17 17  2.8903718
18 34  3.5553481
19 42  3.7612001
20 6   1.9459101
21 50  3.9318256
22 28  3.3672958
23 2   1.0986123
24 43  3.7841896
25 32  3.4965076
 [[2]]
   x    NaturalLog1PlusX
1  19   2.9957323
2  18   2.9444390
3  21   3.0910425
4  38   3.6635616
5  46   3.8501476
6  29   3.4011974
7  22   3.1354942
8  35   3.5835189
9  16   2.8332133
10  7   2.0794415
11 23   3.1780538
12 28   3.3672958
13 15   2.7725887
14 11   2.4849066
15 42   3.7612001
16  2   1.0986123
17 43   3.7841896
18 31   3.4657359
19 34   3.5553481
20  1   0.6931472
21 47   3.8712010
22 14   2.7080502
23 24   3.2188758
24 12   2.5649494
25  3   1.3862944

更新于:2021年11月8日

223 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告