У меня есть следующие данные:
library(dplyr)
set.seed(122)
df <- as_tibble(rlnorm(1260, meanlog = 0.06, sdlog = 0.20))
date <- rep(c("Jan", "Feb", "Mär", "Apr", "Mai", "Jun",
"Jul", "Aug", "Sep", "Okt", "Nov", "Dez"), 5)
Предполагается, что это 1260 дневных цен с одним годом = 252 дня и 1 месяц = 21 день.
Теперь я хочу нарисовать линейный график с дневными ценами на оси Y и месяцами на оси X.Код ниже адаптирован из этой темы Отображение данных временных рядов, когда столбец даты не существует :
library(tidyverse)
df %>%
as.data.frame() %>%
rename(price = 1) %>%
mutate(rnames = rownames(.)) %>%
ggplot(aes(x = as.numeric(rnames), y = price,
group = rep(1:5, times=1, each=252))) +
geom_line() +
labs(title = "Stock Price Chart", y = "Price", x = "date") +
scale_x_continuous(breaks = seq(1, 1260, by = 21), labels = date)
Тем не менее, я немного изменил свой df
, вставив новый первыйстрока со значением 1
.
df <- rbind(df[0,],c(1),df[1:nrow(df),])
Предполагается, что это начальная цена при t = 0.К сожалению, код не работает сейчас.Есть ли быстрое решение для этого?