R 中的赋值,左侧为公式

assignment in R with left side a formula

我有一个从循环创建的数据框。该循环检查给定曝光的几十个结果的序数回归。

在循环的开始,定义了一个名为exposure的变量。示例:exposure <- "MyExposure"

在例程结束时,我想实际保存我编译的结果数据集,并使保存的数据对象的名称与曝光相关。

我在根据变量名进行赋值的左侧时遇到了问题。

新数据框的名称应该是

paste0(exposure,"_imputed_ds")
[1] "MyExposure_imputed_ds"

但是,当我尝试将它放在作业的左侧时,它失败了。

paste0(exposure,"_imputed_ds") <- existing.data.frame
Error in paste0(exposure,"_imputed_ds") <- existing.data.frame
  could not find function "paste0<-"

我想要的是一个名为 MyExposure_imputed_ds 的新数据框,其中包含 existing.data.frame

的内容

您可以使用 assign() 为您使用 paste

构造的名称设置一个值
assign(paste0('MyExposure', '_imputed_ds'), 5)

现在您在环境中有 MyExposure_imputed_ds,值为 5

不过,我发现使用 assign 通常是一个警告标志!也许你想要这样的东西......

imputed_ds <- list()
imputed_ds[['MyExposure']] <- 5