2011-04-27 73 views
0

可能重複參考對象:
R: getting a function name as a stringR:具有相同的名稱作爲元件在可變

1)I具有可變的,在的第一列中存儲數據文本文件(股票代碼符號)

tickers <- read.csv("stocks.txt", header=FALSE, sep=",") 
tickers <- tickers[1] 

2)對於每個股票我運行:getSymbols(tickers, from=startdate, to=enddate)

getSymbols從quantmod包

叫「getSymbols」的結果是一系列具有相同的名稱作爲代號的變量名XTS對象。

現在我想要做的是確定每個xts對象的第一個元素的日期。由於每個對象都有相同的名稱與它在行情變量相關的股票代碼我想我可能只是做在下面的for循環,其中i是該指數迭代:

min(index(tickers[i])) 

然而,這並不因爲代號工作[1]返回一個字符名稱,而不是索引()期望的對象。問題是tickers返回的字符[1]是由getSymbols創建的xts對象的名稱。

我很感激幫助。謝謝

+0

請使用搜索功能。我嘗試的第一個搜索的第三個結果(「[r] object name」)回答你的問題。只有4小時前有人問過[類似的問題](http://stackoverflow.com/questions/5796508/loop-through-ls-or-objects)。 – 2011-04-27 01:26:29

+1

只要'get(tickers [i]'代替'tickers [i]',那就應該這樣做,因爲'get'返回'tickers [i]'中的名字對應的對象。 – Ramnath 2011-04-27 01:28:56

+0

謝謝各位先生們。我使用了錯誤的關鍵詞進行了搜索,因此感到沮喪,感謝您將此引入我的注意,我將花更多時間搜索下一次,我非常感謝您的幫助 – codingknob 2011-04-27 01:43:41

回答

1

getSymbols它是如何分配的東西很奇怪。你想要的是一系列時間序列,而不是單個變量的加載。巧合的是,(提示無恥的自我推銷)我上週寫到how to create this

作爲替代方案,您可以使用get,正如Ramnath所建議的那樣。

sapply(tickers, function(x) min(index(get(x))))