ggplot2找不到对象+图例问题

时间:2018-11-28 21:28:01

标签: r ggplot2 stochastic

我正在尝试绘制一个微分方程与其精确解析解的仿真图,但始终收到“ FUN(X [[i]],...)中的错误:找不到对象'值'”,甚至尽管它被声明为仅前一行!似乎我在某个地方犯了一个愚蠢的错误,但我根本找不到。另外,它无法识别我指定的标签,从而产生“意外的符号错误”。预先感谢,

require(ggplot2)
N<-500
T<-3
dt<-T/N
X <-c()
X[1] <-4

B<-numeric(N+1)
tt<-seq(0,T,length=N+1)

for(t in seq(2,N+1)){
  B[t] <- B[t-1]+rnorm(1)*sqrt(dt)
}

for(i in seq(2,N+1)){
  X[i] <- X[i-1]+2*B[i-1]*(B[i]-B[i-1])+dt
}



  S <- as.data.frame(rep(X[1],501) + B^2)
  names(S) <- (c('value','t','Solutions') labels=c("Simulation", "Exact Solution") )
  ggplot(data = S, aes(x = t, y = value, colour = variable)) + geom_line()

PE:很抱歉,如果这是一种愚蠢的问题,我是使用R的菜鸟,但我被迫将其用于实际工作。

1 个答案:

答案 0 :(得分:1)

沿着@joran的注释行,这应该可以工作。我不确定我是否在代码中的S <- as.data.frame(rep(X[1],501) + B^2)行中正确解释了您的意图,但是希望这可以为您指出解决问题的正确方向。

set.seed(42)
# <- all your code before the bottom section

library(tidyverse)
S <- data.frame(t = tt, simulated = X, exact = B^2 + X[1]) %>%
  gather(variable, value, -t)
ggplot(data = S, aes(x = t, y = value, colour = variable)) + geom_line()

enter image description here