Rhelp:for循环和参数

时间:2015-04-03 20:31:46

标签: r for-loop pass-by-reference

我想用varname的不同值运行这样的事情约50次。

Sls_Other_$varname_y1_12 = diff (Sls_Other_$varname_data [,4] , lag=12)
对于for循环的每次迭代,$ varname应该被顺序列表中的关键字替换。我试着写这样的东西 -

for ( i in 1:nrow(VarCodes) ) {
  nm<-VarCodes[i]
  Sls_Other_$nm_y1_12 = diff (Sls_Other_$nm_data [,4] , lag=12) }

nrow(VarCodes)= 50

我确定$ nm是错误的参考。我在互联网上搜索,但没有找到任何答案。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果你确定这成功了:

Sls_Other_$varname_y1_12 = diff (Sls_Other_$varname_data [,4] , lag=12)
# Since the Sls_Other_$varname_data [,4] looks wrong if Sls_Other_ is a dataframe

然后可能就是这些问题:

for ( i in 1:nrow(VarCodes) ) {
  nm<-VarCodes[i]
  Sls_Other_[[paste0(nm, "_y1_12")]] <-  
                    diff (Sls_Other_[[paste0(nm, "_data")]] [,4] , lag=12) }