有一个很好的解释这里的如何使用GGPLOT2创建散点图,利用NLS拟合数据,并绘制配合,都在一条线,像这样
myhist = data.frame(size = 10:27, counts = c(1L, 3L, 5L, 6L, 9L, 14L, 13L, 23L, 31L, 40L, 42L, 22L, 14L, 7L, 4L, 2L, 2L, 1L) )
ggplot(data=myhist, aes(x=size, y=counts)) + geom_point() +
geom_smooth(method="nls", formula = y ~ N * dnorm(x, m, s), se=F,
start=list(m=20, s=5, N=300))
我的问题是:使用这种结构,是有可能拉出实际NLS从Call对象? 我想知道我的系数,等等。现在我无法弄清楚如何让他们没有做单独的NLS电话。
我的问题是:使用这种结构,是有可能拉出实际NLS从Call对象? 我想知道我的系数等
这是目前没有GGPLOT2可能。 该功能GGPLOT2从模型返回的预测,而不是模型对象本身。 因此,你不能提取的nls
从对象ggplot
对象找到系数等
有在GGPLOT2和GGPLOT2开发邮件列表两个相关的讨论:
https://groups.google.com/d/topic/ggplot2/7tiUB2sjCxM/discussion
https://groups.google.com/d/topic/ggplot2-dev/dLGJnzIg4ko/discussion
快速简介:
虽然很多用户要求提取从统计数据的能力ggplot
对象,开发商正在考虑,但似乎有些反对。 他们宁愿用户使用GGPLOT2可视化,以及适当的建模功能探索建模参数。 不过,哈德利支持落实到模型对象传递给一个能力的想法ggplot()
调用。 因此,而不是试图提取nls
从你的对象ggplot
对象,则改为:
mod <- nls(y ~ N * dnorm(x, m, s), se = F, start = list(m = 20, s = 5, N = 300),
data = myhist)
ggplot(data = myhist, aes(x = size, y = counts)) + geom_point() +
geom_smooth(mod)
这样一来,模型只需要调用一次,你可以做你想做的任何事情,而不必去通过搜索ggplot
对象找到它。 但是,我不知道什么时候或者这是否会实现。