gpt4 book ai didi

r - 一次将已定义的函数应用于所有数据帧

转载 作者:行者123 更新时间:2023-12-04 04:44:34 24 4
gpt4 key购买 nike

我已经定义了一个函数(工作正常)。尽管如此,我想在工作空间中有 20 个数据帧 lapply相同的功能(dat1 到 dat20)。

到目前为止它看起来像这样:

dat1 <- func(dat=dat1)
dat2 <- func(dat=dat2)
dat3 <- func(dat=dat3)
dat4 <- func(dat=dat4)
...
dat20 <- func(dat=dat20)

但是,有没有办法用更短的命令更优雅地做到这一点,即 lapply一次对所有数据帧的功能?

我试过这个,但没有用:
mylist <- paste0("dat", 1:20, sep="")
lapply(mylist, func)

最佳答案

尝试类似:

lapply(mget(ls(pattern="dat")),func)

一些细节: pattern参数在 ls将限制它列出的对象名称(例如,我假设您有其他对象,包括全局环境中的函数)。 mget从环境中检索这些对象并将它们转换为列表,然后您可以 lapply你的功能结束了。

关于r - 一次将已定义的函数应用于所有数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18389767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com