限制 R 中数据框列表中的值范围
Restrict the range of values in a list of data frames in R
我在 R 中有一个包含值及其坐标的 288 个 ASCII 数据帧的列表 dataframes
。数据是每个月每小时的平均温度,因此数据框的标题范围从 jan_01
到 dec_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()
。
我在 R 中有一个包含值及其坐标的 288 个 ASCII 数据帧的列表 dataframes
。数据是每个月每小时的平均温度,因此数据框的标题范围从 jan_01
到 dec_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()
。