如何获得具有多个维度的列表的最小值?

How to get the min of a list with multiple dimensions?

提问人:JoeBass 提问时间:6/19/2015 更新时间:6/19/2015 访问量:42

问:

我正在尝试避免循环,但不确定如何做到这一点:

假设我有以下几点:

theList <- list()
theList[[1]] <- list(foo = "1", bar = "10")
theList[[2]] <- list(bar = "10", foo = "4")
theList[[3]] <- list(foo = "-1", bar = "10")

我怎样才能调用一个函数,以便我得到foo的最小值?

minValue(theList$foo)

或类似的东西......将返回 -1。

R 列表

评论

1赞 akrun 6/19/2015
为什么要为数值向量创建“字符”元素?一个选项是或整个列表并获取 .即min(as.numeric(unlist(lapply(theList, function(x) x[names(x)=='foo']))))unlistminv1 <- unlist(theList);min(as.numeric(v1[names(v1)=='foo']))
1赞 JoeBass 6/19/2015
就是这样。你能在下面回答,以便我可以检查你的答案作为答案吗?

答:

2赞 akrun 6/19/2015 #1

你可以试试

v1 <- unlist(theList)
min(as.numeric(v1[names(v1)=='foo']))
#[1] -1