首页 > 解决方案 > 如何从 R 中多个数据帧的公共列中找到 Max/Min

问题描述

正如标题所述,我试图找到在每个数据帧中找到的特定列的全局最大值/最小值。我一直在尝试使用 for 循环,但很难迭代我的顺序文件名结构。

fileCount <- NROW(filenames)

finalmin = Inf
finalmax = -Inf

for(i in 1:fileCount){

    testmin <- min(dframe[i]$Receiving)
    testmax <- max(dframe[i]$Receiving)

    if(testmin < finalmin){ finalmin <- testmin}
    if(testmax > finalmax) finalmax <- testmax
}

任何帮助将不胜感激。

标签: rstatistics

解决方案


假设您有以下数据框

  d1 <- data.frame(y1=c(1,20,3), y2=c(4,5,6))
  d2 <- data.frame(y1=c(3,2,1), y2=c(6,5,4))
  d3 <- data.frame(y1=c(6,5,4), y2=c(3,2,1))
  d4 <- data.frame(y1=c(9,91,9), y2=c(8,8,8))

  //Creates a list with all your dataframes, does not matter how many. 
  dfs <- Filter(function(x) is(x, "data.frame"), mget(ls()))

   z1<-0

  for(i in 1:length(dfs)){
   z<-max(dfs[[i]]$y1)
   if(z>z1){
   z1<-z
   }
   }

   print(z1)

推荐阅读