r - 如何在ggplot2中绘制组内的非线性回归线和总数据?

标签 r ggplot2 nls

我有一个简单的数据集,其中包含两个连续变量(囊泡和细胞),以及一个具有两个级别(HC 和 RA)的单个分组变量,在这里模拟:

###Simulate Vesicle variable###
Vesicle.hc <- sort(runif(23, 0.98, 5)) #HC group
Vesicle1.ra <- sort(runif(5, 0.98, 3)) #RA group
Vesicle <- c(Vesicle.hc, Vesicle1.ra)  #Combined

###Simulate Cells variable###
z <- seq(23)
Cells.hc <- (rnorm(23, 50 + 30 * z^(0.2), 8))*runif(1, 50000, 400000) #HC group
Cells.ra <- c(8.36e6, 6.35e6, 1.287e7, 1.896e7, 1.976e7)               #RA group
Cells <- c(Cells.hc, Cells.ra)                                         #Combined

###Define groups and create dataframe###
Group <- rep("HC",23)                                #HC group
Group1 <- rep("RA",5)                                #RA Group
Group <- c(Group, Group1)                            #Combined
df <- data.frame(Cells, Vesicle, Group)              #Data frame

我使用 ggplot2 和非线性回归线(显示 here )绘制了数据的散点图,分别使用以下方法拟合每个组:
###Plot data###
library(ggplot2)
ggplot(df, aes(x = Cells, y = Vesicle, colour=Group)) +
  xlab("Stimulated neutrophils") +
  ylab("MV/cell") +
  stat_smooth(method = 'nls', formula = 'y~a*exp(b*x)',                     #Fit nls model
              method.args = list(start=c(a=0.1646, b=9.5e-8)), se=FALSE) +  #Starting values
  geom_point(size=4, pch=21,color = "black", stroke=1.5, aes(fill=Group))   #Change point style

我的问题是,除了绘制每个组的非线性回归函数之外,我还如何绘制适合于 的回归线全部 数据,即对数据建模而忽略分组变量的贡献?

最佳答案

ggplot(df, aes(x = Cells, y = Vesicle, colour=Group)) +
    xlab("Stimulated neutrophils") +
    ylab("MV/cell") +
    stat_smooth(method = 'nls', formula = 'y~a*exp(b*x)',
                method.args = list(start=c(a=0.1646, b=9.5e-8)), se=FALSE) +
    stat_smooth(color = 1, method = 'nls', formula = 'y~a*exp(b*x)',
                method.args = list(start=c(a=0.1646, b=9.5e-8)), se=FALSE) +
    geom_point(size=4, pch=21,color = "black", stroke=1.5, aes(fill=Group))

enter image description here

关于r - 如何在ggplot2中绘制组内的非线性回归线和总数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38378161/

相关文章:

r - 从基础 R 图转换为 ggplot

ggplot2 - 如何添加一个图例来计算 ggplot2 中高于或低于某个值的点?火山图

r - nls 奇异梯度矩阵 - 在积分上限中拟合参数

r - 在ggplot2中使用nls的pred $ fit错误

r - 尝试遍历 HTML 表格并创建数据框

r - 为什么class(data.frame(...))不显示列表继承?

r - 如何提取拟合 nls 模型中使用的参数,以便在 do.call 的第二次拟合中使用

删除 xts 图右上角的日期范围

R ggplot图例在我想要整数时给出小数

r - 使用 nls 的指数回归