R - 将函数串行应用于数据帧

R - apply function to data frames serially

我有数据帧 mydf,我将其拆分以获得像 mydf$'1' mydf$'2'...mydf$'n' 这样的数据帧数量。 我希望将我的函数应用到这些数据帧上以获得类似

的结果
resultdf1 <- myfunc(mydf$'1')
resultdf2 <- myfunc(mydf$'2')
.....
resultdfn <- myfunc(mydf$'n')

依此类推...因为拆分后大约有 35 个数据帧。不为每个frame name和resultdf手动写怎么能省力呢

我尝试了 lapply 但没有正确计算出来。 任何帮助将不胜感激。

谢谢

在数据框上调用 split 应该会给您一个较小数据框的列表。所以也许在这个拆分列表上调用 lapply 才有意义,例如

mydf.split <- split(mydf, mydf$col)
list.result <- lapply(mydf.split, function(x) { /* do something */ })

以上将产生另一个列表,每个节点包含您的函数的结果。如果你想取回一个向量,你可以使用 sapply。例如,如果您想要每个拆分数据框中的行数,您可以这样做

mydf.counts <- sapply(mydf.split, function(x) nrow(x))