0
我试图将数据框的列名更改为股票符号,因为我通过股票代码列表进行循环并下载股票数据。在循环中设置名称将名称设置为数字
我有一个我读过的股票列表,然后循环。在循环中,我下载股票数据,设置列名称,然后与另一个数据框合并,但是当我打印列名时,数字被设置为列名称而不是股票代码。
例如,在stocks.txt,我有:
JCP
SVM
GSG
将R代码如下:
options(digits=4, width=70)
library("zoo")
library(tseries)
# load the data into a zoo object using the zoo function read.csv
source(file="portfolio.r")
# Dowload the stock data of stocks listed in the stocks listing, such as stocks.txt
stocksymbols = read.table("stocks.txt",
sep="\t",
col.names=c("symbols"),
fill=FALSE,
strip.white=TRUE)
stocksymbols
prices <- get.hist.quote(instrument="^gspc", start="2013-01-01",
end="2013-12-21", quote="AdjClose",
provider="yahoo", origin="1970-01-01",
compression="d", retclass="zoo")
colnames(prices)[1] <- "GSPC"
for(i in 1:nrow(stocksymbols)) {
stocksymbol <- stocksymbols[i,]
con <- url("http://quote.yahoo.com")
if(!inherits(try(open(con), silent = TRUE), "try-error")) {
close(con)
x <- get.hist.quote(instrument=stocksymbol, start="2013-01-01",
end="2013-12-21", quote="AdjClose",
provider="yahoo", origin="1970-01-01",
compression="d", retclass="zoo")
colnames(x)[1] <- stocksymbol
prices <- merge(prices, x)
}
}
colnames(prices)
如何更改列名股票符号来代替数字。
请提供一个最小*可重现的例子。 –