【问题标题】:Define a variable based on a number n根据数字 n 定义变量
【发布时间】:2021-09-13 01:36:30
【问题描述】:

我有一系列三个模型,我想用 R 中的相同代码进行分析。我想在代码开头定义 n = 1,然后自动将 est <- est1 与其他变量一起定义如下.我觉得我需要与assign() 功能相反的东西。

所以将 n 定义为 1、2 或 3,例如:

n = 1

会导致:

est <- est1
fit <- fit1
vars <- model1vars
name <- 'Model_1'

【问题讨论】:

    标签: r dataframe variables naming-conventions


    【解决方案1】:

    我们可以使用get

    get(paste0('est', n))
    

    如果我们需要全部提取,使用paste创建一个匹配对象名称的模式,在ls中使用它,在list中获取所有带有mget的对象的值

    nm1 <- c("est", "fit", "model", "Model")
    pat <- paste0("^(", paste(nm1, collapse = "|"), ")_?", n)
    lst1 <- mget(ls(pattern = pat))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      • 2019-03-18
      • 1970-01-01
      • 2018-12-26
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      相关资源
      最近更新 更多