【发布时间】:2021-06-01 08:33:47
【问题描述】:
有以下数据:
#demo data:
set.seed(1234)
library(tidyverse)
library(fs)
n = 100
time= c(15, 30, 60, 90, 120, 180, 240, 300)
treat = factor(c("trt1", "trt2", "tr1+2", "trt1+2+3"))
intensity = c(sample(1:400, n, replace=TRUE))
df <- expand.grid(time= time, treat = treat, intensity=intensity)
df <- data.frame(
time= rep(df$time, each = 100),
intensity = rep(df$intensity),
treat = rep(df$treat, each = 100)
)
我最终希望拟合一个模型,该模型旨在将波动与物理学中的传统阻尼振荡器函数进行比较。这是我的问题的图形化视图:
这可能是我对如何在这里使时间连续的问题感到愚蠢,但重要的是要保留这些值,并且它不仅仅是一个单变量时间序列数据框。否则,这就是我会做的。但是还有一个治疗因素变量也应该保留。
它应该看起来更像这样(excel 快速图表),但我需要提取函数的数学内容,以便跟踪 R 输出中曲线的峰值:
解决方案将涉及以下两个方面:1) 能够在 R 中重现曲线,以及 2) 随着时间的推移生成开始拟合多项式模型所需的密度数据。
【问题讨论】:
-
第二幅图中的点与第一幅图中的分布有何关系?我知道颜色对应于两者的处理,但是每个分布中的点是平均值、中位数还是其他值的汇总?
-
这些点只是测量的时间点。分布不应该是相同的,因为要匹配的图片有太多的识别信息。但它们的处理方式相似。
-
所以让我们选择一个点来解释:在左起第一个点,即时间点 = 0,但测量强度 (y) = high # 在该级别的强度计数
-
谢谢。不过,那是我的问题。在您的示例数据中,
df只有时间和处理(x 值和颜色),我们应该使用什么来计算 y 值?另外,silence没有在您的演示数据中定义,我认为在对expand.grid()的调用中它应该是silence=time。 -
我在制作虚拟数据时的错误 - 我需要添加 y 值,它现在应该在里面。另外,请注意,虚拟数据不会仅仅因为强度是随机抽样的而产生类似的分布。
标签: r graph time-series modeling