如何在 R 中提取不包含 NULL 的列表元素?


列表有时会包含 NULL 元素和其他元素。因此,我们可能希望去掉那个 NULL 元素,这样我们才能毫无阻碍地使用我们的列表。为此,我们可以使用 lapply 函数,其语法如下 −

语法

“List_name”[!unlist(lapply(“List_name”,is.null))]

示例

考虑以下列表 −

 在线演示

x1<-LETTERS[1:20]
x2<-sample(1:50,30)
x3<-rpois(50,5)
x4<-NULL
x5<-sample(1:10,20,replace=TRUE)
x6<-sample(1:10,50,replace=TRUE)
x7<-NULL
List<-list(x1,x2,x3,x4,x5,x6,x7)
List

输出

[[1]]
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S"
[20] "T"
[[2]]
[1] 27 38 3 48 16 17 50 8 31 21 34 37 46 18 7 11 29 9 49 45 12 44 32 4 13
[26] 22 43 35 39 20
[[3]]
[1] 4 4 6 5 4 11 3 2 4 7 2 0 2 3 9 2 4 8 7 6 4 3 2 8 6
[26] 9 7 5 5 5 3 8 5 1 6 6 2 4 2 4 2 5 4 5 3 2 10 7 5 7
[[4]]
NULL
[[5]]
[1] 4 5 3 9 5 1 8 7 5 1 10 9 10 4 4 8 7 3 6 1
[[6]]
[1] 6 4 8 5 5 10 7 5 3 7 10 5 8 1 10 9 3 8 2 5 9 3 5 9 6
[26] 5 8 6 3 10 6 3 8 4 10 5 3 7 3 4 5 6 1 8 6 6 9 2 5 4
[[7]]
NULL

提取不为 NULL 的列表元素 −

示例

List[!unlist(lapply(List,is.null))]

输出

[[1]]
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S"
[20] "T"
[[2]]
[1] 27 38 3 48 16 17 50 8 31 21 34 37 46 18 7 11 29 9 49 45 12 44 32 4 13
[26] 22 43 35 39 20
[[3]]
[1] 4 4 6 5 4 11 3 2 4 7 2 0 2 3 9 2 4 8 7 6 4 3 2 8 6
[26] 9 7 5 5 5 3 8 5 1 6 6 2 4 2 4 2 5 4 5 3 2 10 7 5 7
[[4]]
[1] 4 5 3 9 5 1 8 7 5 1 10 9 10 4 4 8 7 3 6 1
[[5]]
[1] 6 4 8 5 5 10 7 5 3 7 10 5 8 1 10 9 3 8 2 5 9 3 5 9 6
[26] 5 8 6 3 10 6 3 8 4 10 5 3 7 3 4 5 6 1 8 6 6 9 2 5 4

我们来看另一个示例 −

示例

 在线演示

y1<-runif(45,5,10)
y2<-rexp(30,5)
y3<-rpois(50,5)
y4<-rbinom(50,10,0.5)
y5<-rnorm(50,2,5)
y6<-sample(1:10,50,replace=TRUE)
y7<-NULL
y8<-sample(1:20,50,replace=TRUE)
y9<-LETTERS[1:26]
y10<-1:50
New_List<-list(y1,y2,y3,y4,y5,y6,y7,y8,y9,y10)
New_List

输出

[[1]]
[1] 6.873191 6.832051 7.994383 5.560593 5.948195 6.148714 9.089198 8.024749
[9] 5.358905 8.940129 9.813643 5.225109 8.198397 6.791847 9.445375 9.296775
[17] 8.978427 9.823661 9.559257 9.600359 7.107150 9.533786 9.437307 5.852952
[25] 9.104474 8.204243 5.467284 5.643628 5.698499 5.586102 7.165100 9.540500
[33] 6.690515 9.422854 9.663365 6.047424 9.512649 5.237828 5.176613 9.307774
[41] 9.214194 5.736416 6.611679 9.158329 8.125111
[[2]]
[1] 9.327297e-02 2.628267e-02 5.837356e-01 5.526928e-01 1.493052e-01
[6] 4.684264e-05 1.109019e-02 1.632936e-01 8.791466e-02 1.389368e-01
[11] 6.252034e-02 1.838558e-01 6.541021e-02 6.040159e-01 4.687270e-02
[16] 4.825074e-01 2.566619e-01 1.121949e-01 6.038569e-01 1.542802e-01
[21] 4.781870e-01 4.814911e-02 1.001143e-02 3.015966e-01 7.467835e-02
[26] 1.958277e-01 1.115525e-01 1.445676e-01 2.605108e-01 1.109321e+00
[[3]]
[1] 5 7 3 2 5 5 2 9 10 4 3 2 4 5 3 5 7 1 8 6 3 11 6 3 9
[26] 9 1 4 6 5 5 3 7 4 6 4 1 7 5 8 5 3 4 9 4 5 3 5 8 6
[[4]]
[1] 5 4 2 4 4 7 8 6 5 3 5 5 4 3 5 4 5 8 4 6 7 4 9 7 2 1 6 6 5 3 5 4 5 5 3 4 2 5
[39] 6 6 3 5 5 3 6 5 5 6 4 5
[[5]]
[1] -4.9037570 0.2327350 6.0266983 2.5974054 7.0022107 -6.1438301
[7] 8.7918581 8.4450933 -0.5585743 2.0662291 10.1116677 2.3497613
[13] -0.4061269 -1.1139795 7.3350721 2.5669137 7.3098503 -0.4888469
[19] 4.8192636 10.4241038 -1.3895469 -4.9470356 -0.5330585 6.0830108
[25] 0.3959233 4.4163268 -5.4136557 5.2560139 5.4981337 -4.6610475
[31] -4.1390856 -7.5773305 1.9526344 2.4610800 10.0877877 3.8905763
[37] 2.9887570 4.8073600 6.1438959 2.9197778 -6.8822575 4.5946571
[43] 1.1602598 -4.0467120 5.2462252 10.2414053 -0.7420613 -2.3959838
[49] -3.2863947 6.5189106
[[6]]
[1] 9 7 5 7 6 2 1 7 6 7 10 5 9 10 4 4 8 6 10 3 10 1 5 10 1
[26] 4 7 10 6 6 7 1 3 5 6 5 1 9 4 5 5 1 1 9 7 6 4 4 5 10
[[7]]
NULL
[[8]]
[1] 13 2 9 3 18 2 16 4 8 3 7 3 3 2 3 9 15 4 8 14 17 4 15 20 20
[26] 3 4 6 11 6 14 4 15 18 5 9 19 7 3 18 6 2 4 18 3 4 19 15 17 8
[[9]]
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S"
[20] "T" "U" "V" "W" "X" "Y" "Z"
[[10]]
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

示例

New_List[!unlist(lapply(New_List,is.null))]

输出

[[1]]
[1] 6.873191 6.832051 7.994383 5.560593 5.948195 6.148714 9.089198 8.024749
[9] 5.358905 8.940129 9.813643 5.225109 8.198397 6.791847 9.445375 9.296775
[17] 8.978427 9.823661 9.559257 9.600359 7.107150 9.533786 9.437307 5.852952
[25] 9.104474 8.204243 5.467284 5.643628 5.698499 5.586102 7.165100 9.540500
[33] 6.690515 9.422854 9.663365 6.047424 9.512649 5.237828 5.176613 9.307774
[41] 9.214194 5.736416 6.611679 9.158329 8.125111
[[2]]
[1] 9.327297e-02 2.628267e-02 5.837356e-01 5.526928e-01 1.493052e-01
[6] 4.684264e-05 1.109019e-02 1.632936e-01 8.791466e-02 1.389368e-01
[11] 6.252034e-02 1.838558e-01 6.541021e-02 6.040159e-01 4.687270e-02
[16] 4.825074e-01 2.566619e-01 1.121949e-01 6.038569e-01 1.542802e-01
[21] 4.781870e-01 4.814911e-02 1.001143e-02 3.015966e-01 7.467835e-02
[26] 1.958277e-01 1.115525e-01 1.445676e-01 2.605108e-01 1.109321e+00
[[3]]
[1] 5 7 3 2 5 5 2 9 10 4 3 2 4 5 3 5 7 1 8 6 3 11 6 3 9
[26] 9 1 4 6 5 5 3 7 4 6 4 1 7 5 8 5 3 4 9 4 5 3 5 8 6
[[4]]
[1] 5 4 2 4 4 7 8 6 5 3 5 5 4 3 5 4 5 8 4 6 7 4 9 7 2 1 6 6 5 3 5 4 5 5 3 4 2 5
[39] 6 6 3 5 5 3 6 5 5 6 4 5
[[5]]
[1] -4.9037570 0.2327350 6.0266983 2.5974054 7.0022107 -6.1438301
[7] 8.7918581 8.4450933 -0.5585743 2.0662291 10.1116677 2.3497613
[13] -0.4061269 -1.1139795 7.3350721 2.5669137 7.3098503 -0.4888469
[19] 4.8192636 10.4241038 -1.3895469 -4.9470356 -0.5330585 6.0830108
[25] 0.3959233 4.4163268 -5.4136557 5.2560139 5.4981337 -4.6610475
[31] -4.1390856 -7.5773305 1.9526344 2.4610800 10.0877877 3.8905763
[37] 2.9887570 4.8073600 6.1438959 2.9197778 -6.8822575 4.5946571
[43] 1.1602598 -4.0467120 5.2462252 10.2414053 -0.7420613 -2.3959838
[49] -3.2863947 6.5189106
[[6]]
[1] 9 7 5 7 6 2 1 7 6 7 10 5 9 10 4 4 8 6 10 3 10 1 5 10 1
[26] 4 7 10 6 6 7 1 3 5 6 5 1 9 4 5 5 1 1 9 7 6 4 4 5 10
[[7]]
[1] 13 2 9 3 18 2 16 4 8 3 7 3 3 2 3 9 15 4 8 14 17 4 15 20 20
[26] 3 4 6 11 6 14 4 15 18 5 9 19 7 3 18 6 2 4 18 3 4 19 15 17 8
[[8]]
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S"
[20] "T" "U" "V" "W" "X" "Y" "Z"
[[9]]
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

更新时间: 2020 年 9 月 8 日

664 次浏览

开启您的 职业生涯

完成课程并获得认证

开始吧
广告