2013-10-06 42 views
0

这里的R的功能是什么,我会想到的功能做:编写重复数据操纵程序

datalist <- c("var1","var2",...) 
my.function <- function(datalist){ 
    n  <- length(dlist) 
    varnames <- paste("data", dlist, sep = ".") 
    for (...) { # for each var in 'varnames' 
     ...  # grab each variable from some specific online dataset; 
     ...  # do some basic data manipulation for each variable 
    } 
    ...   # return all the results 
} 

我的主要困难是: (1)如何做循环,使所抓取的数据(2)在完成循环后如何返回多个变量;

编辑:

环路可在循环中创建变量我想,说VAR1和VAR2,将其存储在“DLIST”的说法,但我不能操纵VAR1或VAR2的功能,DLIST [1 ]或dlist [2]只会给我一个字符串,而不是变量本身。

在此先感谢。

+2

的答案为(1)和(2)的 “用'list's”。如果您点击SO中的“R”标签,然后点击“about”的位置,您将看到一系列文档和指南。其中之一是R-intro。看看列表章节。 –

+0

@Ricardo Saporta,对不起,我可能不会说清楚。循环可以在循环中创建我想要的变量,比如VAR1和VAR2,它们存储在'dlist'参数中,但我不能在函数中操作VAR1或VAR2,dlist [1]或dlist [2]只给我一个字符串,但不是变量本身。 –

+0

嗨@LJ,请看[这个问题](http://stackoverflow.com/questions/19201603/r-properly-using-the-paste-function/19201717#19201717) –

回答

0

我想我已经解决了这个问题,并使功能正常工作。

正如我在问题中所描述的,实际上主要的问题是如何操作变量,而VAR1和VAR2本身是函数中的字符串。

EVALas.name组合应该工作:

eval(as.name(dlist[i]))