R 程序:选择给定嵌套列表的第二个元素


2023年2月26日, Learn eTutorial
2577

如何在 R 中选择给定嵌套列表的第二个元素?

为了在 R 程序中访问列表的元素,我们使用内置函数 `lapply()`。通常,在编程语言中,我们使用循环。有不同类型的 `apply()` 函数可用于处理列表、向量和数据框,它们也可以看作是循环结构的替代品。`lapply()` 就是其中之一,'l' 代表列表。此函数有助于对列表对象执行某些操作,并返回与作为参数给出的列表对象长度相同的列表。返回列表将是 `FUN` 应用于 `X` 相应元素的结果。此函数的语法是

lapply(X, FUN, …) 

其中 X 是向量(原子或列表)或表达式对象,FUN 是要应用于 X 的每个元素的函数

如何使用 R 程序访问嵌套列表中第 n 个位置的元素?

在此 R 程序中,我们直接将值传递给内置函数 `lapply()`。这里我们使用变量 **values_lst** 来保存嵌套列表。变量 **rslt_lst** 是将函数应用于 **values_lst** 的每个元素后的结果列表。调用函数 `lapply()` 以将函数 `FUN` 应用于列表元素,我们使用的 `FUN` 是双括号“[[”,它将从列表中提取一个元素,这里我们选择每个嵌套列表的第二个元素。

算法

步骤 1:将变量 **values_lst** 赋值为一个嵌套列表

步骤 2:显示列表的原始值

步骤 3:调用应用函数 `lapply(values_lst, '[[', 2)` 以查找每个列表的第二个元素

步骤 4:将结果列表赋值给变量 **rslt_lst**

步骤 4:打印结果

R 源代码

                                          values_lst = list(list(1,3), list(2,5), list(6,7))
print("Original nested list is:")
print(values_lst)
rslt_lst = lapply(values_lst, '[[', 2)
print("Second element of the nested list is:")
print(rslt_lst)
                                      

输出

[1] "Original nested list is:"
[[1]]
[[1]][[1]]
[1] 1

[[1]][[2]]
[1] 3


[[2]]
[[2]][[1]]
[1] 2

[[2]][[2]]
[1] 5


[[3]]
[[3]][[1]]
[1] 6

[[3]][[2]]
[1] 7


[1] "Second element of the nested list is:"
[[1]]
[1] 3

[[2]]
[1] 5

[[3]]
[1] 7