r - 如何生成两个遵循相似(但不相等)正弦形式的随机数序列?
问题描述
我想创建一个模拟图,其中我代表两个设备,它们随着时间的推移测量水中不同深度的温度。假设dev.1
(记录 10 米深度的水温)和dev.2
(记录 30 米深度的水温)。因为它是一个模拟(我的目标是说明一些在这里无关紧要的东西),我想生成一个数据框,它允许我制作这样一个图:
正如您在草稿中看到的那样,我想创建两个变量 (dev.1
和dev.2
),其温度(在图中将是value
)随时间以正弦方式振荡。如您所见,在这两种设备中,温度变化相似但不相等(这很重要)。
有谁知道我怎么能创建这个数据框?
解决方案
library(dplyr)
library(tidyr)
library(ggplot2)
set.seed(1)
t=seq(0,10,0.1)
noise_level = 0.25
dev.1 = sin(t) + 20 + runif(length(t), -noise_level, noise_level)
dev.2 = sin(t) + 25 + runif(length(t), -noise_level, noise_level)
df <- data.frame(t=t, dev.1 = dev.1, dev.2 = dev.2)
df %>%
pivot_longer(cols = c(dev.1, dev.2)) %>%
ggplot(aes(x = t, y = value, color = name)) +
geom_line()
您可以更改噪声级别以在正弦波周围实现或多或少的噪声。
推荐阅读
- python - 如何从表格中制作散点图
- angular - 将库分发到其他计算机时,Angular 6 库找不到 node_modules 的相对路径
- android - Firebase Auth 上是否可以为多个 Android 应用提供一个 OAuth 2.0 客户端?
- openrefine - OpenRefine - 只读实例
- perl - perl 在两个关键字之间抓取文本
- asp.net-mvc - LINQ to Entities 不支持未映射的属性
- python - 如何重新编写此 python 代码以在 pyinstaller 生成的 exe 中工作?
- go - 如何在 Go 中正确使用组合
- c# - asp.net mvc core 2 选择值在视图模型中始终为 0
- c# - 如何创建控制台应用程序以在 Windows 启动时自动运行