我有一个这样的数据集
<表类>
iu
示例
观察
tbody><<tr>1.5625 s 0.312 1.5625s 0.302 3.125s 0.335 3.125s 0.333 6.25s 0.423 6.25s 0.391 12.5s 0.562 12.5s 0.56 25 s 0.84 25 s 0.843 50s 1.202 50s 1.185 100 s 1.408 100 s 1.338 200 s 1.42 200 s 1.37 1.5625t 0.317 1.5625t 0.313 3.125t 0.345 3.125t 0.343 6.25t 0.413 6.25t 0.404 12.5t 0.577 12.5t 0.557 25 t0.863 25 t0.862 50t 1.22 50t 1.197 100 t 1.395 100 t 1.364 200 t 1.425 200 t 1.415 表类>
感谢@akrun。在我把csf_1$sample
转换成因子后,我终于得到了我想要的。
csf_1[, 2] <- as.factor(c(rep("s", 16), rep("t", 16)))
nlm_1 <- nls(obs ~ (a - d) / (1 + (iu / c[sample]) ^ b) + d, data = csf_1, start = list(a = 0.3, b = 1.8, c = c(25, 25), d = 1.4))
summary(nlm_1)
Formula: obs ~ (a - d)/(1 + (iu/c[sample])^b) + d
Parameters:
Estimate Std. Error t value Pr(>|t|)
a 0.315874 0.008102 38.99 <2e-16 ***
b 1.833303 0.068432 26.79 <2e-16 ***
c1 26.075317 0.656779 39.70 <2e-16 ***
c2 25.114050 0.632787 39.69 <2e-16 ***
d 1.447901 0.011518 125.71 <2e-16 ***
---
Signif. codes:
0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.02015 on 27 degrees of freedom
Number of iterations to convergence: 4
Achieved convergence tolerance: 6.225e-06