letter[2]相当于'['(letters,i=2),第二个参数是i.
第一个参数的名称是什么,因此下面两个表达式是等价的?
lapply(1:3,function(x){letters[x]})
lapply(1:3,`[`,param1 = letters) # param1 to be replaced with solution
Run Code Online (Sandbox Code Playgroud)
为了能够定义类似于上面的函数,您必须将两个参数传递给函数.该功能[确实需要各种输入.我们可以使用Map而不是lapply向它提供要从中提取的数据和指数以指示要提取的数据部分:
Map("[",list(letters),1:3)
[[1]]
[1] "a"
[[2]]
[1] "b"
[[3]]
[1] "c"
Run Code Online (Sandbox Code Playgroud)
这与上面的内容类似.希望这可以帮助