我有两个数据框,df1
和 df2
,每个数据框都有一个不同的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
如何让我的函数返回每个数据帧的 min 和 max Date
?
最佳答案
我们需要list
而不是c
dfList <- list(df1, df2)
不同之处在于 c
将第二个数据集的列连接到第一个数据集并返回 list
的vector
s 而不是 list
的data.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/