如何在存储在 R 列表中的数据框中创建一列 log(1+x)?
要在存储在R列表中的数据帧中创建一列log(1+x),我们可以按照以下步骤操作-
首先,创建一个数据框列表。
然后,使用lapply函数在列表中存储的数据帧中创建一列log(1+x)。
示例
创建数据框列表
使用data.frame函数创建数据框和列表函数来创建这些数据框的列表-
df1<-data.frame(x=sample(1:50,25)) df2<-data.frame(x=sample(1:50,25)) List<-list(df1,df2) List输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
[[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