首页 > 解决方案 > nlsplot 在 r 中的几个子集中

问题描述

data.sustracted使用nlsfit. 我的数据框由许多不同的子集组成,为了得到一个子集的图表,我做了:

dataP1 <- filter(.data = data.sustracted, code=="1")
dataP1GS=as.data.frame(cbind(dataP1$time, dataP1$SGP))
names(dataP1GS)= c("Hour", "GP")
nlsplot(dataP1GS, model = 12, start = c(a = 30, b = 1.5, c = 0.053), 
        xlab = "Hour" , ylab = "GasP", position = 1)`

但是,这种方式会花费我很长时间,因为有很多数据集作为这个

因此我尝试了:

with(subset(data.sustracted, code == "i"), 
     nlsplot(data.sustracted, model = 12, 
     start = c(a = 30, b = 1.5, c = 0.053), 
     xlab = "time" , ylab = "SGP", position = 1))

但是代码给了我以下错误!

nls(y ~ a + b * (1 - exp(-c * x)), data = data, start = list(a = 20, : step factor 0.000488281 减少到 0.000976562 的“minFactor”以下) 中的错误

如果我过滤我的数据集并手动执行它,它可以工作但不可行,因为我有许多相似的数据集和几个子集(看看我做了什么)。

dataP1 <- filter(.data = data.sustracted, code=="1")
dataP1GS=as.data.frame(cbind(dataP1$time, dataP1$SGP))
names(dataP1GS)= c("Hour", "GP")
nlsplot(dataP1GS, model = 12,
    start = c(a = 30, b = 1.5, c = 0.053), 
     xlab = "Hour" , ylab = "GasP", position = 1)`

我也尝试过ggplot,我一次按子集获取所有图表,但ggplot只是制作 SGP 和时间的图表,即使我使用它也不会写线或方程qqline

看:

## ggplot2, i.e for two species
ggplot(subset(data.sustracted, 
   code %in% c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
               "11", "12", "13", "14", "15", "16", "17", "18", "19",  
               "20", "21", "22", "23", "24", "25", "26", "27", "28",
               "29", "30", "31", "32", "33", "34", "35", "36", "37",
                "38", "39", "40", "41", "42", "43", "44", "45")),
       aes(x=time, y=SGP, color=code))+
  geom_point() +
  geom_smooth(method = "nlsm", 
              method.args = list(formula = SGP ~ a+b*(1-exp(-c*time)),
                                 start = list( a=30, b=1.5, c = 0.053)), 
              data = data.sustracted,
              se = FALSE,
              aes(color = factor(code)))+
  facet_wrap_paginate(~code, ncol = 3, nrow = 3, page = 2)`

请!给我任何提示,我会尝试自己探索更多,或者如果可能的话,对我可以使用的一些代码提出一些建议。

我想按我的数据框的子集绘制图表,并在每个图表上获得我的模型的线和方程。

非常感谢!:)

我的数据是:

structure(list(code = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 
7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 
8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
9L, 9L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
10L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 13L, 
13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 14L, 14L, 
14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 15L, 15L, 15L, 
15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 16L, 16L, 16L, 16L, 
16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 17L, 17L, 17L, 17L, 17L, 
17L, 17L, 17L, 17L, 17L, 17L, 17L, 18L, 18L, 18L, 18L, 18L, 18L, 
18L, 18L, 18L, 18L, 18L, 18L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 
19L, 19L, 19L, 19L, 19L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 
20L, 20L, 20L, 20L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 
21L, 21L, 21L, 22L, 22L, 22L, 22L, 22L, 22L, 22L, 22L, 22L, 22L, 
22L, 22L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 
23L, 24L, 24L, 24L, 24L, 24L, 24L, 24L, 24L, 24L, 24L, 24L, 24L, 
25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 26L, 
26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 27L, 27L, 
27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 28L, 28L, 28L, 
28L, 28L, 28L, 28L, 28L, 28L, 28L, 28L, 28L, 29L, 29L, 29L, 29L, 
29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 31L, 31L, 31L, 31L, 31L, 31L, 
31L, 31L, 31L, 31L, 31L, 31L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 
32L, 32L, 32L, 32L, 32L, 33L, 33L, 33L, 33L, 33L, 33L, 33L, 33L, 
33L, 33L, 33L, 33L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 
34L, 34L, 34L, 35L, 35L, 35L, 35L, 35L, 35L, 35L, 35L, 35L, 35L, 
35L, 35L, 36L, 36L, 36L, 36L, 36L, 36L, 36L, 36L, 36L, 36L, 36L, 
36L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 
38L, 38L, 38L, 38L, 38L, 38L, 38L, 38L, 38L, 38L, 38L, 38L, 39L, 
39L, 39L, 39L, 39L, 39L, 39L, 39L, 39L, 39L, 39L, 39L, 40L, 40L, 
40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 41L, 41L, 41L, 
41L, 41L, 41L, 41L, 41L, 41L, 41L, 41L, 41L, 42L, 42L, 42L, 42L, 
42L, 42L, 42L, 42L, 42L, 42L, 42L, 42L, 43L, 43L, 43L, 43L, 43L, 
43L, 43L, 43L, 43L, 43L, 43L, 43L, 44L, 44L, 44L, 44L, 44L, 44L, 
44L, 44L, 44L, 44L, 44L, 44L, 45L, 45L, 45L, 45L, 45L, 45L, 45L, 
45L, 45L, 45L, 45L, 45L), time = c(2L, 4L, 6L, 8L, 12L, 16L, 
24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 
36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 
48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 
60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 
72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 
96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 
2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 
6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 
12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 
16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 
24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 
36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 
48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 
60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 
72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 
96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 
2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 
6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 
12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 
16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 
24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 
36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 
48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 
60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 
72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 
96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 
2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 
6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 
12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 
16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 
24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 
36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 
48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 
60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 
72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 
96L, 2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 
2L, 4L, 6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 
6L, 8L, 12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 
12L, 16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 
16L, 24L, 36L, 48L, 60L, 72L, 96L, 2L, 4L, 6L, 8L, 12L, 16L, 
24L, 36L, 48L, 60L, 72L, 96L), SGP = c(7.66, 10.36, 11.84, 14.6, 
17.58, 20.92, 26.36, 30.82, 34.44, 36.12, 37.54, 38.88, 8.75, 
12, 13.75, 15.91666667, 18.38333333, 21.41666667, 26.36666667, 
30.05, 32.95, 34.41666667, 35.6, 36.68333333, 9.266666667, 12.51666667, 
15.06666667, 17.93333333, 19.88333333, 22.23333333, 26.5, 29.55, 
32.56666667, 33.93333333, 35.25, 36.21666667, 6.666666667, 9.483333333, 
11, 14.01666667, 16.41666667, 19.51666667, 24.08333333, 27.53333333, 
30.61666667, 31.83333333, 33.03333333, 34.26666667, 9.433333333, 
13.18333333, 15.96666667, 20.51666667, 23.25, 27.05, 32.76666667, 
36.88333333, 40.51666667, 41.86666667, 43.16666667, 44.05, 8.583333333, 
11.9, 14.06666667, 16.41666667, 18.35, 20.98333333, 25.33333333, 
28.48333333, 31.6, 32.71666667, 34.01666667, 35.03333333, 7.433333333, 
10.28333333, 12.28333333, 13.75, 15.75, 17.68333333, 20.73333333, 
23.8, 26.68333333, 27.88333333, 29.06666667, 29.93333333, 8.3, 
11.96666667, 14.95, 19.36666667, 23.23333333, 27.85, 33.71666667, 
38.13333333, 41.65, 43.11666667, 44.25, 45.3, 8.496666667, 11.64, 
13.76666667, 15.92333333, 17.82666667, 20.20333333, 24.62666667, 
28.56333333, 31.79333333, 33.04666667, 34.43666667, 35.81333333, 
4.583333333, 6.066666667, 7.7, 10.33333333, 12.63333333, 15.68333333, 
20.95, 24.46666667, 27.71666667, 29.11666667, 30.46666667, 31.93333333, 
3.266666667, 4.616666667, 5.633333333, 7.5, 9.483333333, 12.01666667, 
16.63333333, 19.61666667, 22.55, 23.78333333, 25.1, 26.45, 6.916666667, 
9.75, 12.88333333, 17.03333333, 20.8, 24.73333333, 30.8, 35.05, 
38.43333333, 39.91666667, 41.18333333, 42.51666667, 6.533333333, 
8.466666667, 9.55, 12.26666667, 14.98333333, 18.25, 23.16666667, 
27.36666667, 30.9, 32.51666667, 33.96666667, 34.86666667, 9.16, 
12.04, 14.64, 17.42, 19.74, 23.24, 29.18, 33.64, 37.8, 39.18, 
40.8, 42.4, 9.866666667, 13.13333333, 15.08333333, 17.26666667, 
19.25, 21.63333333, 26.81666667, 30.5, 33.6, 35.16666667, 36.68333333, 
38.16666667, 7.996666667, 10.89, 13.26666667, 15.88333333, 17.43666667, 
19.68666667, 23.11, 26.14666667, 29.06333333, 30.54333333, 32.01, 
33.41666667, 11.08, 15.41666667, 18.21, 21.06, 23.1, 25.19666667, 
29.47333333, 33.93333333, 36.66666667, 37.73, 38.79, 40.03, 11.08333333, 
14.4, 16.15, 17.86666667, 18.9, 20.45, 24.56666667, 28.61666667, 
31.33333333, 33.48333333, 34.48333333, 35.95, 7.666666667, 9.85, 
10.7, 11.81666667, 12.33333333, 14.05, 18.01666667, 22.38333333, 
24.5, 26.46666667, 27.46666667, 28.51666667, 8.15, 10.98333333, 
11.75, 12.8, 14.25, 16.85, 22.26666667, 26.81666667, 29.25, 30.78333333, 
32.06666667, 32.86666667, 7.483333333, 10.78333333, 12.93333333, 
15.41666667, 16.53333333, 17.93333333, 22.58333333, 26.85, 29.21666667, 
30.51666667, 31.36666667, 32.73333333, 8.44, 11.78, 13.63666667, 
15.86666667, 18.25333333, 21.46, 26.96333333, 31.62333333, 34.51, 
36.52666667, 37.86, 39.03, 7.75, 10.68333333, 11.73333333, 13.1, 
14.71666667, 17.65, 22.7, 27.06666667, 29.46666667, 31.21666667, 
32.38333333, 33.41666667, 7.45, 10, 10.56666667, 11.65, 12.33333333, 
14.43333333, 18.33333333, 22.2, 24.73333333, 26.55, 27.81666667, 
28.75, 7.166666667, 9.166666667, 10.53333333, 12.68333333, 14.16666667, 
16.13333333, 20.41666667, 25.23333333, 27.66666667, 29.15, 30.21666667, 
31.58333333, 8.616666667, 11.8, 14.1, 16.75, 18.41666667, 20.5, 
24.75, 29.25, 31.55, 33.38333333, 34.21666667, 35.45, 9.75, 13.61666667, 
16.05, 19.05, 21.86666667, 24.83333333, 30.66666667, 35.55, 38.25, 
39.95, 41.2, 42.5, 10.15, 14.23333333, 17.16666667, 19.16666667, 
19.61666667, 20.31666667, 22.25, 26.21666667, 28.21666667, 29.68333333, 
30.63333333, 31.38333333, 10.5, 13.78333333, 15.58333333, 18.35, 
19.85, 22.35, 26.9, 31.35, 34.16666667, 36.05, 37.2, 38.56666667, 
10.75, 14.33333333, 16.9, 20.23333333, 22.6, 25.25, 30.36666667, 
34.91666667, 37.66666667, 39.73333333, 40.88333333, 42.08333333, 
12.11333333, 16.48333333, 19.85333333, 23.98, 26.89666667, 29.83333333, 
35.26666667, 40.08, 43.19666667, 45.20666667, 46.39666667, 47.63666667, 
6.483333333, 8.85, 10.38333333, 12.26666667, 12.78333333, 14.35, 
18.86666667, 22.95, 25.21666667, 26.86666667, 27.96666667, 29.15, 
5.216666667, 7.95, 9, 9.8, 11.28333333, 13.56666667, 18.25, 22.01666667, 
24.68333333, 26.6, 27.11666667, 28.61666667, 3.846666667, 6.13, 
7.086666667, 7.643333333, 8.826666667, 10.83666667, 15.21666667, 
18.92, 21.56333333, 23.34333333, 23.81666667, 25.43666667, 7.056666667, 
10.14666667, 11.28333333, 12.54666667, 14.64333333, 17.13333333, 
21.94666667, 25.92666667, 28.14, 29.93666667, 30.67333333, 32.14, 
7.45, 10.7, 12.93333333, 15.53333333, 18.31666667, 21.06666667, 
25.95, 30.03333333, 32.65, 34.26666667, 35.21666667, 36.36666667, 
6, 8.2, 9.266666667, 10.36666667, 12.08333333, 14.15, 18.23333333, 
21.83333333, 24.08333333, 25.78333333, 26.51666667, 27.85, 6.4, 
9.6, 11.58333333, 13.16666667, 13.91666667, 13.8, 14.96666667, 
17.81666667, 20.06666667, 21.66666667, 22.65, 23.96666667, 8.983333333, 
13.22333333, 16.57666667, 19.35, 20.87333333, 22.34333333, 24.76, 
28.11666667, 30.82666667, 32.58, 33.48666667, 34.94, 8.583333333, 
12.56666667, 14.91666667, 16.96666667, 19.16666667, 21.53333333, 
26.7, 31.03333333, 33.78333333, 35.56666667, 36.48333333, 37.91666667, 
9.033333333, 12.81666667, 16.33333333, 19.41666667, 20.63333333, 
20.5, 21.53333333, 25.05, 27.56666667, 29.4, 30.21666667, 31.83333333, 
9.1, 12.83333333, 14.91666667, 16.38333333, 18.08333333, 19.58333333, 
24.31666667, 28.75, 31.4, 33.73333333, 35.18333333, 36.98333333, 
11.68333333, 16.86666667, 19.95, 22.43333333, 25.45, 28.6, 34.36666667, 
39.33333333, 42.65, 44.76666667, 46, 47.66666667, 7.483333333, 
10.96666667, 11.91666667, 13.05, 14.43333333, 16.11666667, 20.68333333, 
24.76666667, 27.51666667, 29.33333333, 30.3, 31.78333333, 9.44, 
14.08666667, 16.59333333, 19.07666667, 22.72333333, 26.29, 32.05666667, 
36.36666667, 39.14333333, 40.71666667, 41.48, 42.70333333), dm = c(36.44, 
36.44, 36.44, 36.44, 36.44, 36.44, 36.44, 36.44, 36.44, 36.44, 
36.44, 36.44, 36.2, 36.2, 36.2, 36.2, 36.2, 36.2, 36.2, 36.2, 
36.2, 36.2, 36.2, 36.2, 36.87, 36.87, 36.87, 36.87, 36.87, 36.87, 
36.87, 36.87, 36.87, 36.87, 36.87, 36.87, 35.85, 35.85, 35.85, 
35.85, 35.85, 35.85, 35.85, 35.85, 35.85, 35.85, 35.85, 35.85, 
38.49, 38.49, 38.49, 38.49, 38.49, 38.49, 38.49, 38.49, 38.49, 
38.49, 38.49, 38.49, 36.62, 36.62, 36.62, 36.62, 36.62, 36.62, 
36.62, 36.62, 36.62, 36.62, 36.62, 36.62, 43.86, 43.86, 43.86, 
43.86, 43.86, 43.86, 43.86, 43.86, 43.86, 43.86, 43.86, 43.86, 
38.76, 38.76, 38.76, 38.76, 38.76, 38.76, 38.76, 38.76, 38.76, 
38.76, 38.76, 38.76, 33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 
33.78, 33.78, 33.78, 33.78, 33.78, 33.78, 37.14, 37.14, 37.14, 
37.14, 37.14, 37.14, 37.14, 37.14, 37.14, 37.14, 37.14, 37.14, 
36.91, 36.91, 36.91, 36.91, 36.91, 36.91, 36.91, 36.91, 36.91, 
36.91, 36.91, 36.91, 30.76, 30.76, 30.76, 30.76, 30.76, 30.76, 
30.76, 30.76, 30.76, 30.76, 30.76, 30.76, 37.92, 37.92, 37.92, 
37.92, 37.92, 37.92, 37.92, 37.92, 37.92, 37.92, 37.92, 37.92, 
30.91, 30.91, 30.91, 30.91, 30.91, 30.91, 30.91, 30.91, 30.91, 
30.91, 30.91, 30.91, 35.69, 35.69, 35.69, 35.69, 35.69, 35.69, 
35.69, 35.69, 35.69, 35.69, 35.69, 35.69, 37.63, 37.63, 37.63, 
37.63, 37.63, 37.63, 37.63, 37.63, 37.63, 37.63, 37.63, 37.63, 
38.87, 38.87, 38.87, 38.87, 38.87, 38.87, 38.87, 38.87, 38.87, 
38.87, 38.87, 38.87, 34.9, 34.9, 34.9, 34.9, 34.9, 34.9, 34.9, 
34.9, 34.9, 34.9, 34.9, 34.9, 38.36, 38.36, 38.36, 38.36, 38.36, 
38.36, 38.36, 38.36, 38.36, 38.36, 38.36, 38.36, 47.53, 47.53, 
47.53, 47.53, 47.53, 47.53, 47.53, 47.53, 47.53, 47.53, 47.53, 
47.53, 51.32, 51.32, 51.32, 51.32, 51.32, 51.32, 51.32, 51.32, 
51.32, 51.32, 51.32, 51.32, 36.4, 36.4, 36.4, 36.4, 36.4, 36.4, 
36.4, 36.4, 36.4, 36.4, 36.4, 36.4, 32.79, 32.79, 32.79, 32.79, 
32.79, 32.79, 32.79, 32.79, 32.79, 32.79, 32.79, 32.79, 28.29, 
28.29, 28.29, 28.29, 28.29, 28.29, 28.29, 28.29, 28.29, 28.29, 
28.29, 28.29, 39.89, 39.89, 39.89, 39.89, 39.89, 39.89, 39.89, 
39.89, 39.89, 39.89, 39.89, 39.89, 33.64, 33.64, 33.64, 33.64, 
33.64, 33.64, 33.64, 33.64, 33.64, 33.64, 33.64, 33.64, 40.53, 
40.53, 40.53, 40.53, 40.53, 40.53, 40.53, 40.53, 40.53, 40.53, 
40.53, 40.53, 37.61, 37.61, 37.61, 37.61, 37.61, 37.61, 37.61, 
37.61, 37.61, 37.61, 37.61, 37.61, 26.34, 26.34, 26.34, 26.34, 
26.34, 26.34, 26.34, 26.34, 26.34, 26.34, 26.34, 26.34, 27.68, 
27.68, 27.68, 27.68, 27.68, 27.68, 27.68, 27.68, 27.68, 27.68, 
27.68, 27.68, 29.78, 29.78, 29.78, 29.78, 29.78, 29.78, 29.78, 
29.78, 29.78, 29.78, 29.78, 29.78, 33.75, 33.75, 33.75, 33.75, 
33.75, 33.75, 33.75, 33.75, 33.75, 33.75, 33.75, 33.75, 36.1, 
36.1, 36.1, 36.1, 36.1, 36.1, 36.1, 36.1, 36.1, 36.1, 36.1, 36.1, 
34.16, 34.16, 34.16, 34.16, 34.16, 34.16, 34.16, 34.16, 34.16, 
34.16, 34.16, 34.16, 31.34, 31.34, 31.34, 31.34, 31.34, 31.34, 
31.34, 31.34, 31.34, 31.34, 31.34, 31.34, 40.35, 40.35, 40.35, 
40.35, 40.35, 40.35, 40.35, 40.35, 40.35, 40.35, 40.35, 40.35, 
46.13, 46.13, 46.13, 46.13, 46.13, 46.13, 46.13, 46.13, 46.13, 
46.13, 46.13, 46.13, 33.09, 33.09, 33.09, 33.09, 33.09, 33.09, 
33.09, 33.09, 33.09, 33.09, 33.09, 33.09, 29.12, 29.12, 29.12, 
29.12, 29.12, 29.12, 29.12, 29.12, 29.12, 29.12, 29.12, 29.12, 
25.99, 25.99, 25.99, 25.99, 25.99, 25.99, 25.99, 25.99, 25.99, 
25.99, 25.99, 25.99, 33.89, 33.89, 33.89, 33.89, 33.89, 33.89, 
33.89, 33.89, 33.89, 33.89, 33.89, 33.89, 28.34, 28.34, 28.34, 
28.34, 28.34, 28.34, 28.34, 28.34, 28.34, 28.34, 28.34, 28.34, 
32.55, 32.55, 32.55, 32.55, 32.55, 32.55, 32.55, 32.55, 32.55, 
32.55, 32.55, 32.55, 25.41, 25.41, 25.41, 25.41, 25.41, 25.41, 
25.41, 25.41, 25.41, 25.41, 25.41, 25.41, 34.58, 34.58, 34.58, 
34.58, 34.58, 34.58, 34.58, 34.58, 34.58, 34.58, 34.58, 34.58
)), class = "data.frame", row.names = c(NA, -540L))

标签: rgraphsubset

解决方案


这似乎有效:

拆分数据集code

ss <- split(dd,dd$code)

适合nls()每个组件。这里我们需要了解SSasymp,根据它的帮助页面 ( ?SSasymp) 适合模型:

Asym+(R0-Asym)*exp(-exp(lrc)*input)

这在数学上等同a + b * (1 - exp(-c * x))c>0( a+b= Asym; -b=R0-Asym; c=exp(-lrc)) 的模型。

mm <- lapply(ss,
             nls,
             formula=SGP~SSasymp(time,a,b,c))

计算每个块的预测;将它们粘在一起并将它们添加到原始数据集中

pp <- lapply(mm,predict)
dd$pred <- unlist(pp)

阴谋

library(ggplot2); theme_set(theme_bw())
ggplot(dd, aes(x=time,y=SGP,group=code)) + geom_point() +
    geom_line(aes(y=pred),colour="blue",alpha=0.5)

在此处输入图像描述


推荐阅读