2011-04-27 74 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))))