【发布时间】:2011-03-23 06:17:37
【问题描述】:
我有两个数据框raw 和coef:
- 包含原始数据的文件
- 另一个包含我从原始数据中得出的建模系数。
第一个数据框raw 包含:
-
Time(0 到 900 秒) -
OD用于许多变体和四次运行。
第二个数据框coef 包含:
- 每个变体/运行组合一行,在该行中包含各个系数(
M、D.1和t0.1)。
我已经绘制了每个 Variant 的原始数据拆分,并用 runID 着色,没有问题。但是,现在我想根据runID覆盖模型曲线。
由于建模系数在不同的数据框中,具有不同的维度,我不能只cbind他们。 stat_function 对我不起作用。我一次只能显示一条曲线。
我试过for loop,每次都添加stat_function层:
p <- ggplot(temp, aes(Time, OD)) + geom_point(aes(colour = runID), size = 2) #works fine!
calc <- function(x){temp.n$M[ID] * (1 - exp(temp.n$D.1[ID] * temp.n$t0.1[ID] - x)))}
for(ID in 1:length(unique(temp.n$runID))) {
p <- p + stat_function(fun = calc)
}
print(p)
最后,所有p 返回的是原始数据的图,以及循环位的最终曲线。每次我尝试添加新的stat_function 层时,p 似乎都会恢复到原来的状态。
有什么想法吗?
【问题讨论】:
-
也许最简单的解决方法是合并 data.frames。这可行吗?
-
你能提供一个可重现的例子吗?问题在于您使用了变量范围。
标签: r function overlay plot ggplot2