我是一个R语言的新手,在这里,我试图读取一个CSV文件,该文件包含多个字符串YYYYMMDD格式的OHLCV和日期符号
Data format example
我试过:
data <- read.csv(file="DFM.csv", sep=",", dec=".", header=TRUE, col.names = c("Symbols", "Date", "Open", "High", "Low", "Close", "Volume"), stringsAsFactors = FALSE)
> class(data)
[1] "data.frame"
> head(data)
Symbols Date Open High Low Close Volume
1 DIB 20160630 5.03 5.12 5.03 5.11 6171340
2 DIB 20160629 5.10 5.11 5.02 5.02 5241741
3 DIB 20160628 5.05 5.11 5.02 5.07 5258839
4 DIB 20160627 5.01 5.11 5.01 5.03 5038589
5 DIB 20160626 4.94 5.04 4.90 5.02 10593471
6 DIB 20160623 5.14 5.14 5.09 5.12 3069970
as.Date(data$Date, format="%Y%m%d") # didn't work
不知何故,我需要将它加载到getSymbols()
中,这样我就可以使用chart_Series()
绘制图表。有人能帮忙吗?
1条答案
按热度按时间f0brbegy1#
使用您的示例数据,这是一种可能的解决方案,可以导入文件,转换
Date
列,按Symbol
拆分文件,并以一种简单的方式排列单个对象(股票):原始文件数据的前3行和后3行(allStocks):
让我们从转换Date列开始:
接下来,将
allStocks
除以Symbol
,这将给出一个列表,其中每个列表元素代表一个名称为Symbol
的个股:接下来,去掉
Symbol
列,为xts对象做准备:并且最后将列表转换成单独的xts对象,每个xts对象表示名称为
Symbol
的股票:现在,您的GlobalEnvironment中应该有3个格式良好的对象,可以绘制图表。
即
str
和库存的第一行、最后一行DIB
: