限制 R 中数据框列表中的值范围

Restrict the range of values in a list of data frames in R

我在 R 中有一个包含值及其坐标的 288 个 ASCII 数据帧的列表 dataframes。数据是每个月每小时的平均温度,因此数据框的标题范围从 jan_01dec_24。我想要做的是限制这些,以便将它们减少为仅包含特定坐标范围(区域)的值。我可以使用下限 xl 和上限 xu 为每个单独的帧成功执行此操作。例如,4 月份 01:00 的 x-coordinates 将通过使用

进行限制
apr_01 <- apr_01[apr_01$x <= xu,]
apr_01 <- apr_01[apr_01$x >= xl,]

我怀疑有一些方法可以使用 lapply() 或一系列循环,以便可以对全年的所有数据帧执行此操作,但我无法弄清楚如何实现它,因为我上面的方法需要唯一的数据框名称。我尝试编写一个用于 lapply() 的通用函数,但我是 R 的新手,所以运气不佳。这可能是一个微不足道的问题,但我们将不胜感激!

编辑:我尝试编写的函数,显然行不通,类似于

restrict <- function(f){
  f <- f[f$s1 <= xu]
  f <- f[f$s1 >= xl]
}

for(i in 1:24){
  apr_[i] <- restrict(apr_[i])
}

事实证明这很简单。这是解决我的问题的代码:

restrict <- function(f){  
  f <- f[f$x <= xu,]
  f <- f[f$x >= xl,]
}

dataframes <- lapply(dataframes, restrict)

restrict 函数将 x 坐标限制为我感兴趣的内容,然后我将其应用到列表中的每个数据框 lapply()