如何在 R 中提取儲存在列表中的資料框列?


假設我們在 R 中有一個列表,其中有兩個資料框,每個資料框有 5 列,並且屬於同一列的資料具有一定的內在關係,或者我們想檢查它們之間是否存在關係,那麼我們可能想要提取這些列。因此,我們可以為此提取使用 lapply 函式。比如,如果我們有一個名為 LIST 的列表,其中儲存了兩個資料框,那麼可以透過使用命令 lapply(LIST,"[",3) 提取每個資料框的第 3 列。

示例

考慮以下資料框和這些資料框的列表 -

 現場演示

df1<-data.frame(x1=rnorm(20),x2=rnorm(20))
df2<-data.frame(y1=rnorm(20),y2=rnorm(20))
List<-list(df1,df2)
List

輸出

[[1]]
    x1            x2
1  -0.2616691   0.4838822161
2  -0.4962192  -0.2029131423
3  -0.6289051   0.6067368122
4  -1.8650979  -0.2673970799
5  -0.1144585   1.2794435497
6  -0.7950920   0.3237400683
7  -0.7473936   0.5272240477
8  -1.1275262   0.8650962534
9  -0.2354747   1.0057184299
10  1.3755067   0.0961681148
11 -0.1747653   1.2535584458
12 -1.5245065   1.0977974301
13 -1.9052953  -0.6178104611
14  0.6634748   0.3078744775
15 -0.3464213  -0.9288219551
16 -1.7638077  -1.3873331806
17 -0.6839449  -0.0006287789
18 -0.1494119   0.1155562131
19 -0.3583126   0.2606700288
20 -0.6148202  -0.5952164804
[[2]]
      y1            y2
1   -0.211831075   0.80770142
2   0.275355837  -0.37532157
3   0.026130608   0.07003241
4  -0.214784788   0.36447807
5  -0.706518246  -2.35280957
6  -0.786380214  -0.83800239
7   0.599793658   1.00900869
8  -0.952037717   0.31360048
9  -0.820999108   1.37718684
10 -1.912105297  -0.48305776
11  0.436298130   0.56800539
12  1.126854489   0.26761877
13 -2.148552234  -1.54496557
14  1.832004140  -0.93939487
15 -0.587988585   0.74063570
16  0.945827064  -0.30905531
17 -1.571678758  -0.44346002
18 -0.704557448  -0.78744069
19 -0.009306419   0.71375917
20  0.734797879  -1.88248741

從儲存在列表中的每個資料框中提取第 2 列 -

示例

lapply(List,"[",2)

輸出

[[1]]
       x2
1   0.4838822161
2  -0.2029131423
3   0.6067368122
4  -0.2673970799
5   1.2794435497
6   0.3237400683
7   0.5272240477
8   0.8650962534
9   1.0057184299
10  0.0961681148
11  1.2535584458
12  1.0977974301
13 -0.6178104611
14  0.3078744775
15 -0.9288219551
16 -1.3873331806
17 -0.0006287789
18  0.1155562131
19  0.2606700288
20 -0.5952164804
[[2]]
     y2
1   0.80770142
2  -0.37532157
3   0.07003241
4   0.36447807
5  -2.35280957
6  -0.83800239
7   1.00900869
8   0.31360048
9   1.37718684
10 -0.48305776
11  0.56800539
12  0.26761877
13 -1.54496557
14 -0.93939487
15  0.74063570
16 -0.30905531
17 -0.44346002
18 -0.78744069
19  0.71375917
20 -1.88248741

更新於: 16-03-2021

3 千個 + 瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始吧
廣告