我有5413家公司(作为专栏)和2000至2014年每日股票价格观察的时间段,3789是我的数据集中的观察计数。所以,现在我想绘制这些公司价格的图表,并绘制我在单独的数据框中创建的日志返回的图表。我将数据帧的某些部分说明如下
Date A G L ABA ABB ABBEY
2000-1-3 NA NA NA NA
2000-1-4 79.5 325 NA 961
2000-1-5 79.5 322.5 NA 945
2000-1-6 79.5 327.5 NA 952
2000-1-7 NA 327.5 NA 941
2000-1-10 79.5 327.5 NA 946
2000-1-11 79.5 327.5 NA 888
和每日日志返回
Date A G L ABA ABB ABBEY
2000-01-04 NA NA NA NA
2000-01-05 0 -0.007722046 NA -0.016789481
2000-01-06 0 0.015384919 NA 0.007380107
2000-01-07 NA 0.000000000 NA -0.011621895
2000-01-10 NA 0.000000000 NA 0.005299429
2000-01-11 0 0.000000000 NA -0.063270826
我想绘制公司名称为Y轴,日期为X轴的图表,分别为我的数据框中的每个公司。我想表明股票价格系列中的趋势或平稳性已被日志返回删除
我尝试了plot.ts(Price)
,但它返回
Error in plotts(x = x, y = y, plot.type = plot.type, xy.labels = xy.labels, :
cannot plot more than 10 series as "multiple"
答案 0 :(得分:0)
所以这里有一些你可以使用的例子。我更喜欢ggplot2,但这取决于你: - )
data <- read.table(text="
Date AGL ABA ABB ABBEY
2000-1-3 NA NA NA NA
2000-1-4 79.5 325 NA 961
2000-1-5 79.5 322.5 NA 945
2000-1-6 79.5 327.5 NA 952
2000-1-7 NA 327.5 NA 941
2000-1-10 79.5 327.5 NA 946
2000-1-11 79.5 327.5 NA 888",
header = TRUE)
格式化您的日期
data$Date <- as.Date(data$Date)
然后使用你的情节函数
plot.ts(data)
或与ggplot2
library(ggplot2)
ggplot(data=data, aes(x=Date, y=AGL)) + geom_line() + geom_line(data=data, aes(x=Date, y=ABA), color="red") + geom_line(data=data, aes(x=Date, y=ABBEY), color="green") + theme_bw()
显然你可以通过玩选项来改变图形!
答案 1 :(得分:0)
导入必要的R包:
require(ggplot2)
require(dplyr)
我创建了一个玩具data.frame来表达观点:
df <- tribble(
~day, ~stock1, ~stock2,
1, 3, 5,
2, 2, 1,
3, -3, 7
)
现在,使用 dplyr 中的收集功能,您可以将数据转换为长格式:
df2 <- df %>% gather(stock1:stock2, key = 'stock', value= 'price')
使用 ggplot2 制作情节:
ggplot(df2, aes(day, price, color = stock)) + geom_line()
或者,您可以一步完成:
df %>% gather(stock1:stock2, key = 'stock', value= 'price') %>%
ggplot(aes(day, price, color = stock)) +
geom_line()