我是新与R和I具有适合3个模型我的数据如下:如何绘制R中的一个图中的3个模型?
模型1:Y = A(X)+ B
lm1 = lm(data$CBI ~ data$dNDVI)
模型2:Y = A(X )2 + b(X)+ C
lm2 <- lm(CBI ~ dNDVI + I(dNDVI^2), data=data)
模型3:Y = X(A | X | + b)-1
lm3 = nls(CBI ~ dNDVI*(a*abs(dNDVI) + b) - 1, start = c(a = 1.5, b = 2.7), data = data)
现在我想绘制所有这三个在R模型,但我找不到办法,你能帮我吗?我曾与前两种模式尝试作为遵循和它的工作,但我不知道如何添加模型3就可以了:
ggplot(data = data, aes(x = dNDVI, y = CBI)) +
geom_point() +
geom_smooth(method = lm, formula = y ~ x, size = 1, se = FALSE) +
geom_smooth(method = lm, formula = y ~ x + I(x^2), size = 1, se = FALSE) +
theme_bw()
我也想补充一个传奇,其表现出3种不同颜色或类型3个模型的线条/曲线也是如此。你能指导我如何使它在图中?
GGPLOT2没有方法直接从'geom_smooth'绘制'nls'模型(向下滚动到“方法” HTTP ://ggplot2.tidyverse.org/reference/geom_smooth.html)。分别拟合模型,使用预测函数创建代表拟合线的虚拟数据集,然后绘制这些数据。 –
非常感谢你,所以我需要先分别拟合模型,然后使用带有预测值的geom_lines吧?干杯 – tnbang
至少'lm3',只需添加该行到你的'ggplot'电话,其他的应该适合你所绘制的他们 - 这是工作的罚款现在好吗? –