Rhelp:for循环和参数
我想用varname的不同值运行约50次。Rhelp:for循环和参数
Sls_Other_$varname_y1_12 = diff (Sls_Other_$varname_data [,4] , lag=12)
$ varname应该由for循环的每次迭代的顺序列表中的关键字替换。我试着写这样的事情 -
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
我敢肯定$纳米是一个错误的参考。我在网上搜索,但没有找到任何答案。任何帮助将不胜感激。
如果你真的相信这成功:
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) }
谢谢。这是一个分隔文件,因此[,4]有效。然而,看起来我存储这个列表的方式并不正确。以这种方式阅读清单的理想格式是什么?我的列表是一个包含50行的单列文件,并且是字母数字。 – sumoka 2015-04-03 21:02:02
没有称为“分隔文件”的R数据结构。您需要在该对象上发布str()。 – 2015-04-03 21:05:10
我可以使用以下内容读取文件 - Sls_Other_Line_949_data = read.delim(“C:/file_path/filename.txt”,header = TRUE,sep =“|”,quote =“”,dec =“。”) str(VarCodes) 'data.frame':\t 49 obs。 1变量: $ V1:因子w/49级别“BU_601”,“BU_604”,..:1 2 3 4 5 6 7 8 9 10 ... – sumoka 2015-04-03 21:44:53
的'$'函数不评价它的RHS参数的部分。需要使用“[[”。 – 2015-04-03 20:42:19