R 在日期列不存在时绘制时间序列数据';不存在

R 在日期列不存在时绘制时间序列数据';不存在,r,ggplot2,time-series,R,Ggplot2,Time Series,我有以下数据: set.seed(12) df <- rnorm(1260, 0.06, 0.2) 不幸的是,我得到了以下错误: 试试这个: price <- rnorm(1260, 0.06, 0.2) date.base <- c("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez") date <- rep(date.base,

我有以下数据:

set.seed(12)
df <- rnorm(1260, 0.06, 0.2)
不幸的是,我得到了以下错误:

试试这个:

price <- rnorm(1260, 0.06, 0.2)

date.base <- c("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", 
          "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")
date <- rep(date.base, 5)

data.frame(date=factor(date, ordered=TRUE, levels=date.base), price=price) %>%
  ggplot(aes(x = date, y = price)) +
  geom_line() +
  labs(title = "Stock Price Chart", y = "Price", x = "date")
price试试这个:

price <- rnorm(1260, 0.06, 0.2)

date.base <- c("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", 
          "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")
date <- rep(date.base, 5)

data.frame(date=factor(date, ordered=TRUE, levels=date.base), price=price) %>%
  ggplot(aes(x = date, y = price)) +
  geom_line() +
  labs(title = "Stock Price Chart", y = "Price", x = "date")
price
library(tidyverse)
df%>%
as.data.frame()%>%
重命名(价格=1)%>%
突变(RNAME=行名(%)%%>%
ggplot(aes(x=as.numeric(rnames),y=price,
组=代表(1:5,次数=1,每个=252)))+
geom_线()+
实验室(title=“股价图”,y=“价格”,x=“日期”)+
比例x连续(中断=顺序(11260,按=21),标签=日期)

由(v0.3.0)库(tidyverse)于2019-05-27创建 df%>% as.data.frame()%>% 重命名(价格=1)%>% 突变(RNAME=行名(%)%%>% ggplot(aes(x=as.numeric(rnames),y=price, 组=代表(1:5,次数=1,每个=252)))+ geom_线()+ 实验室(title=“股价图”,y=“价格”,x=“日期”)+ 比例x连续(中断=顺序(11260,按=21),标签=日期)



由(v0.3.0)于2019-05-27创建

您能提供一个最低可行的示例吗?也就是说,提供一些我们可以复制和粘贴的东西来重现您的错误。
df
不是数据帧。建议使用更好的名称,否则将其作为数据框。此外,如果没有设置随机种子的
set.seed
语句,它也不可复制。现在还不清楚你是想要一天一分,还是一个月一分,或者一个月一次的烛台或条形图。这只解决了我评论中的一个问题。我已经给出了答案。但是,我同意@G.Grothendieck关于你的问题的说法,并向我们提供了另一件事,比如
df
不是数据帧。撇开这一点不谈,假设您的数据实际上是这样的,我应该说数据清理在绘制数据之前。@G.Grothendieck下次我会尽量弄清楚。我对R很陌生,我必须弄清楚什么是数据帧,什么不是。你能提供一个最简单可行的例子吗?也就是说,提供一些我们可以复制和粘贴的东西来重现您的错误。
df
不是数据帧。建议使用更好的名称,否则将其作为数据框。此外,如果没有设置随机种子的
set.seed
语句,它也不可复制。现在还不清楚你是想要一天一分,还是一个月一分,或者一个月一次的烛台或条形图。这只解决了我评论中的一个问题。我已经给出了答案。但是,我同意@G.Grothendieck关于你的问题的说法,并向我们提供了另一件事,比如
df
不是数据帧。撇开这一点不谈,假设您的数据实际上是这样的,我应该说数据清理在绘制数据之前。@G.Grothendieck下次我会尽量弄清楚。我对R很陌生,我必须弄清楚什么是数据帧,什么不是。添加了示例数据。这对我不起作用,因为如果我像你的例子中那样做,天被标记为月。对不起,我的问题可能很不清楚。x轴应如下所示:
1月、2月、Mär、4月、Mai、Jun、Jul、Aug、Sep、Okt、Nov、Dez、Jan、Feb、Mär、Apr、Mai、Jun、Jul、Jul、Dez、Jan、Feb、Mär、Mai、Jul、Jul、Sep、Okt、Nov、Dez、Jan、Jan、Feb、Mär、Apr、Ma、Mai、Jun、Jun、Jul、Jul、Jul、Aug、Aug、Aug、Aug、,“Sep”、“Okt”、“Nov”、“Dez”、“Jan”、“Feb”、“Mär”、“Apr”、“Mai”、“Jun”、“Jul”、“Aug”、“Sep”、“Okt”、“Nov”、“Dez”
添加了示例数据。这对我不起作用,因为如果我像你的例子中那样做,天被标记为月。对不起,我的问题可能很不清楚。x轴应如下所示:
1月、2月、Mär、4月、Mai、Jun、Jul、Aug、Sep、Okt、Nov、Dez、Jan、Feb、Mär、Apr、Mai、Jun、Jul、Jul、Dez、Jan、Feb、Mär、Mai、Jul、Jul、Sep、Okt、Nov、Dez、Jan、Jan、Feb、Mär、Apr、Ma、Mai、Jun、Jun、Jul、Jul、Jul、Aug、Aug、Aug、Aug、,“Sep”、“Okt”、“Nov”、“Dez”、“Jan”、“Feb”、“Mär”、“Apr”、“Mai”、“Jun”、“Jul”、“Aug”、“Sep”、“Okt”、“Nov”、“Dez”
我刚刚在第一行上方的df中添加了一个新行,以便价格在时间=0时从0开始。我试着调整代码,但做不到。有没有快速的方法呢?@JjBlevins问了一个后续问题,并提供了一个到这个问题的链接。您仍然需要在另一个线程中创建一个可复制的示例,但参考此示例会有所帮助。在那里,提供你的新df,并让我知道当你张贴它。如果可以的话,我会看一看并回答。没有一个可复制的例子,很难说出你需要什么。(注意,你不应该在一个帖子里问多个问题,这就是为什么我建议再发一个帖子。)注意!在这里发布了一个后续消息:我刚刚在第一行的上方添加了一个新行到我的df中,以便价格在时间=0时从0开始。我试着调整代码,但做不到。有没有快速的方法呢?@JjBlevins问了一个后续问题,并提供了一个到这个问题的链接。您仍然需要在另一个线程中创建一个可复制的示例,但参考此示例会有所帮助。在那里,提供你的新df,并让我知道当你张贴它。如果可以的话,我会看一看并回答。没有一个可复制的例子,很难说出你需要什么。(注意,你不应该在一个帖子里问多个问题,这就是为什么我建议再发一个帖子。)注意!在此处发布了后续信息: