对列表使用 lapply()
您将学习的 apply 家族中的第一个函数是 lapply(),即 "list apply"。当您有一个列表,并希望对列表的每个元素应用相同的函数时,lapply() 是一种可行的做法,并且它总是返回另一个列表。这是如何工作的呢?
来看一个简单示例。假设您想要找到下列列表中每个向量的长度。
my_list
$a
[1] 2 4 5
$b
[1] 10 14 5 3 4 5 6
# 使用 lapply
# 注意,调用 length 时无需使用括号
lapply(my_list, FUN = length)
$a
[1] 3
$b
[1] 7
正如视频中所述,如果您一开始想到的是在列表上循环,并在每次迭代中使用 length(),这并没有错。lapply() 是这类循环的向量化版本,在 R 领域通常更受推崇,也更简单。
已为您提供了一个以"百分比"表示的每日股票收益列表 stock_return,以及 percent_to_decimal() 函数。
本练习是课程的一部分
R 金融中级
练习说明
- 打印
stock_return。 - 补全
lapply(),将percent_to_decimal()应用于stock_return的每个元素。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Print stock_return
___
# lapply to change percents to decimal
lapply(___, FUN = ___)