2017-04-19 60 views
0

我有一个从循环创建的数据帧。该循环检查对于给定暴露的几十个结果的有序回归。分配在R与左侧公式

在循环开始时,定义了一个称为曝光的变量。示例: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

+0

更多的搜索后,我发现这个职位http://stackoverflow.com/questions/31225715/how-can-i-change-the-name-of-详细使用分配的a-data-frame。当我输入时,我看到@ arvi1000提供了相同的信息。谢谢你Arvi1000。 – akaDrHouse

回答

1

内容您可以使用assign()设置为名称的价值,你有paste

assign(paste0('MyExposure', '_imputed_ds'), 5) 

现在你已经构建MyExposure_imputed_ds与价值环境5

虽然我发现assign的用途通常是警告标志!也许你想这样的事情,而不是...

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

(当然这里我只是使用'5'作为任意值;你可以用data.frame或其他任何东西来做) – arvi1000