繁体   English   中英

如何为 R 中的多个数据集制作 Function,类似于 SAS 中的宏

[英]How to Make Function For Multiple Datasets in R like macro in SAS

我有 2021 年 1 月至 2022 年 2 月的数据(名称数据,如 CARD_202101、CARD_202102、CARD_202103 直到 CARD_202202)每个数据都包含变量:

  • 到岸价
  • 日期
  • 说明

如何在 R 中制作 function。 所以我只能为 2021 年 1 月至 2022 年 2 月的所有数据集提供 CIF 和日期变量

我将首先假设几件事:

  1. 数据的命名约定是这样的:它以CARD_ 开头,后跟 6 位数字
  2. 我可以使用 package
  3. 对象在全局环境中

如果是这样,我建议遍历所有符合命名约定的 object 并使用data.table::rbindlist绑定它们,如下所示:

bind_datasets <- function()
{
    data.table::rbindlist(
        l = lapply(
            X = ls(envir = globalenv(), pattern = "^(CARD_)\\d{6}$"),
            FUN = function(i)
            {
                res <- get(x = i, envir = globalenv())
                res <- subset(x = res, select = c("CIF", "Date"))
                return(res)
            }
        )
    )    
}

这个 function:

  1. 搜索以已建立模式命名的 object 的全局环境
  2. 对于每个 object 检索CIF日期
  3. 依次绑定object。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM