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)
如何更改列名股票符號來代替數字。
請提供一個最小*可重現的例子。 –