2015-06-18 35 views
2

我试图避免环路,但不知道如何做到这一点:如何获得多维度列表的最小值?

比方说,我有以下几点:

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。

+1

为什么要创建的数字矢量“性格”的元素?一个选项是'min(as.numeric)(unlist(lapply(theList,function(x)x [names(x)=='foo']))))''或'unlist'整个列表并得到'min' 。即v1 < - unlist(theList); min(as.numeric(v1 [names(v1)=='foo']))' – akrun

+1

就是这样。你能否在下面回答,以便我可以查看答案作为答案? – JoeBass

回答

2

您可以尝试

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