2013-10-06 38 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]))