我有一个这样的列表:
Ll
$a
3.4 5.6 -2.1 -7.8
$b
2.1 6.7
$c
-6.7,0.001,8.9
Run Code Online (Sandbox Code Playgroud)
我想找出列表中所有元素的最大数量,而不管符号如何.即我希望我的出局看起来像这样:
Ll
$a
-7.8
$b
6.7
$c
8.9
Run Code Online (Sandbox Code Playgroud)
有没有办法通过单一命令行执行此操作?可以使用'by'命令完成吗?
mds*_*ner 11
可重现的代码/数据总是有帮助:
L1 <- list(a = c(3.4, 5.6, -2.1, -7.8), b = c(2.1, 6.7), c = c(-6.7, 0.001, 8.9))
Run Code Online (Sandbox Code Playgroud)
用lapply你自己的功能应用到每一个元素,which.max很容易发现的最大,我们刚刚得到的abs中的每个olute值:
lapply(L1, function(x) x[which.max(abs(x))])
$a
[1] -7.8
$b
[1] 6.7
$c
[1] 8.9
Run Code Online (Sandbox Code Playgroud)