r - 几种模型的决定系数

标签 r cycle nls

我有几个非线性回归模型 (nls),另存为 a1、a2、...、a_n。我想获得相关决定系数的向量。

例如

y <- c(1.0385, 1.0195, 1.0176)
x <- c(3,4,5)
data <- data.frame(x,y)
b1 <- function(x,a,b) {a/b^x}
b2 <- function(x,a,b) {a^b^x}
a1 <- nls(y ~ b1(x,a,b), data = data, start = c(a=0.9, b=0.6))
a2 <- nls(y ~ b2(x,a,b), data = data, start = c(a=0.9, b=0.6))

我可以使用以下方法获得两个确定系数

a <- sum(residuals(a1)^2)
b <- sum((y - mean(y))^2)
1 - (a/b)
#[1] 0.8198396
a <- sum(residuals(a2)^2)
b <- sum((y - mean(y))^2)
1 - (a/b)
#[1] 0.9066859

但是如果我有 20 个模型怎么办?

我尝试使用循环for,但这对我不起作用,因为该类是 nls,既不是向量也不是矩阵。

最佳答案

使用所有结果的列表,然后对其应用函数:

results <- list(a1,a2)

b <- sum((y - mean(y))^2) 
1 - (sapply(results,function(x) sum(residuals(x)^2) ) / b )
#[1] 0.8198396 0.9066859

关于r - 几种模型的决定系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22975858/

相关文章:

algorithm - 在特殊有向图中查找所有权重 > 0 的循环

r - R 中的非线性多元回归

r - 使用 R 中的 lubridate 包获得相同日期字符串的不同结果

r - 在 ggplot2/R 中添加指数 geom_smooth

python - 从某个元素开始循环遍历列表

r - 收敛失败 : Iteration limit reached without convergence (10)

r - 如何从多个绘图输出中选择单个图

r - igraph 图条件顶点颜色

graph - 查找无向图中的所有循环