r:通过函数运行所有数据帧以获取最小和最大日期

标签 r function

我有两个数据框,df1df2,每个数据框都有一个不同的Date 列(名称相同,大小写相同)。

我创建了一个函数来告诉我运行每个数据帧时的最小最大日期:

dMMfunc<- function(df){
  maxDate<- max(df[['Date']])
  minDate<- min(df[['Date']])
  return(c(maxDate, minDate))
}

> dMMfunc(df1)
[1] "2017-11-26" "2017-11-20"

然后,我创建了一个数据帧列表来传递我的函数,读取每个数据帧的最小值和最大值,但它会抛出错误,如下所示:

dfList<- c(df1, df2)
> lapply(dfList, dMMfunc)
Error in df[["Date"]] : subscript out of bounds

如何让我的函数返回每个数据帧的 minmax Date

最佳答案

我们需要list而不是c

dfList <- list(df1, df2)

不同之处在于 c将第二个数据集的列连接到第一个数据集并返回 listvector s 而不是 listdata.frame ,例如

c(mtcars, iris)

list(mtcars, iris)

数据

df1 <- data.frame(Date = Sys.Date() + 1:5)
df2 <- data.frame(Date = Sys.Date() - 1:5)

关于r:通过函数运行所有数据帧以获取最小和最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53905514/

相关文章:

function - 编写我的第一个 Haskell 函数时出现问题

python - 传递超过 23 个输入文件时 gdal_calc amin 失败

linux - 除了使用 Ctrl + C 之外,如何在 linux 中停止正在运行的 R 命令?

r - r 中的部分重复

r - 根据 R 中一步中的出现频率聚合分类 data.table 列

c++ - 为什么一个线程比调用一个函数更快,mingw

jquery - jquery中如何调用函数

r - 使用 na.omit r NA.RM 和 lapply 在 Dataframe 的多列中忽略 R 中的 NA

r - 通过函数更新数据框以找到连续的最佳值

python - 为不同大小制作循环 def