将元素动态分配给对象

Dynamically assign elements to object

在 R 中,我正在尝试动态 select 称为 DF 的 data.frame 列。如果

 cutOffYear=2014 

forecast_years=3

然后这段代码

paste0("DF$X",cutOffYear+1:forecast_years)

产量:

[1] "DF$X2015" "DF$X2016" "DF$X2017"

假设所有三列都存在于 DF 中,我如何将列变量分配给字符?

我尝试了很多 get、assign 和 paste0 的组合,但都失败了。

我们可以尝试使用 [ 到 select 列。使用 $ 时经常容易出错。如果我们需要将输出作为 data.frame,其中列在 'cutOffYear'、'forecast_years' 的 pasted 组合中指定,那么下面的代码应该可以正常工作

DF[paste0("X", cutOffYear+1:forecast_years)]