首页 > 解决方案 > 批量设置许多常量的最简单方法

问题描述

我是 R 的新手。

我在我的 R 脚本中设置了大约 50~100 个通用常量。

这些常数是滞后、衰减率、功率变换、模型参数等。

稍后我将遍历这些参数以拟合某些数据的最佳模型。

就像是:

data1.transformation1.lag1 <- 1
data1.transformation1.lag2 <- 2
data1.transformation1.lag3 <- 3

data1.transformation2.lag1 <- 1
data1.transformation3.lag2 <- 2
data1.transformation4.lag3 <- 3

...

data1.model1.parameter1 <- .3
data1.model1.parameter2 <- .4
data1.model1.parameter3 <- .7

data1.model2.parameter1 <- 0
data1.model2.parameter2 <- .3
data1.model2.parameter3 <- .9

data2.model1.parameter1 <- .5
data2.model1.parameter2 <- 1
data2.model1.parameter3 <- 1.2

...

设置这些常量的最佳实践和最简单的方法是什么?

(避免多次打字,更容易阅读)

标签: rdplyrtidyversetidyr

解决方案


我建议您使用列表或数据框来存储它们,而不是在全局环境中创建大量变量。

ref_list <- setNames(as.list(c(1:3, .4, .9, 4:1)), 
                             c(paste0('data1.transformation1.lag', 1:3), 
                               paste0('data1.model1.parameter', 1:2), 
                               paste0('data2.model1.parameter', 1:4)))

$您可以使用符号访问您想要的任何值。

ref_list$data2.model1.parameter1
#[1] 4
ref_list$data1.model1.parameter1
#[1] 0.4

如果出于其他原因在全局环境中仍需要这些变量,请使用list2env.

list2env(ref_list, .GlobalEnv)

推荐阅读