r - R中的随机游走模拟
问题描述
我正在尝试在 R 中绘制多个简单的随机游走,但这样做有问题。
请注意,简单的随机游走是指随机变量的总和,可以是 {-1} 或 {1},每个值具有相同的概率,而不是一些基于白噪声的随机游走。(参见https://en.wikipedia.org/wiki/Random_walk#One-dimensional_random_walk上的定义)
我使用以下代码来绘制随机游走:
set.seed(1)
n <- 200
Random_Walk<- cumsum(sample(c(-1, 1), n, TRUE))
n <- 200
Random_Walk_2 <- cumsum(sample(c(-1, 1), n, TRUE))
ts.plot(Random_Walk, gpars=list(xlab="Length of Random Walk", ylab="Distance from origin",lty=c(1:1)))
这段代码工作正常,但是一旦我尝试在同一个图中绘制两个随机游走,它就会中断。有人可以解释我如何在一个图中绘制它们甚至多个随机游走吗?
此外,我想知道是否有一些工具可以为我提供所有这些随机游走的方差或标准偏差
谢谢大家!!
解决方案
这是一个可能的解决方案R-base
plot(Random_Walk, type = "l", xlim = c(0, 200), ylim = c(-15, 15),
col = "blue", xlab = "n", ylab = "Rw")
par(new=T)
plot(Random_Walk_2, type = "l", xlim = c(0, 200), ylim = c(-15, 15),
col = "red", xlab = "n", ylab = "Rw")
这是一个可能的解决方案ggplot2
:
library(ggplot2)
df_rw <- data.frame(n = 1:200, r1 = Random_Walk, r2 = Random_Walk_2)
ggplot(df_rw) +
geom_line(aes(n, r1), col = "blue") +
geom_line(aes(n, r2), col = "red") +
labs(x = "n", y = "Rw")
这是另一种可能的解决方案ggplot2
library(ggplot2)
df_rw2 <- data.frame(n = c(1:200, 1:200),
rw = c(Random_Walk, Random_Walk_2),
lab = rep(c("Random Walk 1", "Random Walk 2"), each = 200))
ggplot(df_rw2) +
geom_line(aes(x = n, y = rw, color = lab)) +
scale_color_manual(values = c("red", "blue"))
推荐阅读
- c++ - SPI.write() 调用之间的延迟
- html - 我无法正确浮动 div
- angular - Cordova Geolocation 有时有效,有时无效
- html - 边框半径问题样式表
- javascript - 如何根据字符串值选择变量
- azure - 如果超出每日数据量限制,我们如何在 Azure Application Insight 中设置警报?
- javascript - 未在 HTMLInputElement.onkeyup 中定义
- twitter-bootstrap - 如何制作不在 HTML 中的多选下拉菜单。它需要在良好的用户界面中
- sql - SQL:子查询 AVG 和计数的问题
- java - 使用 restoreMultiLayerNetwork() 加载 DL4J 模型时,“类加载器命名空间”无法访问库