扩展ggplot:在多层中重用参数

时间:2018-11-06 13:33:29

标签: r ggplot2 r-package

我开发了一个R软件包来估算药理学模型的参数。这些模型可以预测一段时间内人体中药物的浓度。我现在正在为此开发一个不错的绘图库。

我理想的API看起来与ggplot非常相似。数据的初始定义,以及随后的添加图形元素的层。

ggplot(model, observed=observations, treatment=paracetamol) +
  stat_observations(geom="point") +
  stat_prediction(geom="line") +
  stat_prediction_se(geom="ribbon", level=0.95, nsimulations=500)

我可以创建新的Stat对象(例如StatPrediction),这些对象可以构建正确的data.frame以通过基础几何。但是,此Stat对象需要访问原始模型以模拟新数据!我正在努力选择实现此目标的最佳方法...

  1. 使用fortify()创建一个“神” data.frame,其中包含我们可能需要的所有信息。我也可以使用broom::tidy()。但是,这很笨拙。我不知道前面的nsimulations参数,所以不知道我应该对模型执行多少次模拟。
  2. 使用fortify()创建一个“伪” data.frame,并使用attr(data, "model") <- model将我的原始模型添加到data.frame。使用computeLayer函数在StatPrediction对象中取回该原始对象。这似乎是“骇人听闻的”。 ggplot适用于真正的data.frame,而不适合我的自定义版本...
  3. 实施ggplot.myModel,创建带有模型插槽的特殊ggplot对象。实现ggplot_add.StatPrediction(object, plot, object_name),因为这是获取原始plot对象并查找模型的唯一方法。

有没有其他人对类似问题进行过彻底的实施?

0 个答案:

没有答案