2017-04-15 55 views
2

到现在为止,我已经找到了在列表中的几个数据帧中为列获取最大值的解决方案。从没有循环的dataFrame列表中获取最大/最小值

我已存储dataframes df1, df2, df3, ..., dfn在列表dfList,我想,以获得最大的柱df_$a的每个数据帧。这意味着例如矢量maxList = c(max_a_df1, max_a_df2, max_a_df3, ... , max_a_dfn)

我知道

max(dfList[[1]]$a) 

给我的df1a列的最大值,我知道我可以遍历所有的dfList和相应的最大添加到vecotor。

但也许有另一种方式来实现这个操作,而不使用循环?

+2

'lapply(dfList,函数(DF)最大(DF $一) )'? – digEmAll

回答

1

我们可以使用sapply来遍历list元素,提取柱 'A',并获得max值作为vector

sapply(dfList, function(x) max(x$a, na.rm=TRUE)) 
+1

正是我正在寻找的那个简单的表达。非常感谢你! – team17

+1

@ team17如果你需要'max/min',那么使用'range'即。 'sapply(dfList,function(x)range(x $ a))' – akrun

+2

谢谢你的帮助提示。就像我的问题一样,我是R新手,应该仔细阅读一下基础知识^^ – team17

相关问题