首页 > 解决方案 > 如何了解在 R 中编写回归包的标准?

问题描述

作为我工作的一部分,我需要拟合一堆“广义逻辑”(GL)* 回归模型(有一些与这个问题无关的特殊限制)。目前没有允许我这样做的包,所以我编写了自己的函数来优化可能性。它很混乱,目前还不是很笼统,因为它是针对我需要它完成的特定工作量身定制的。

我正在考虑把它变成一个更通用的包,这将是我写的第一个。

我的问题是:

1)我错过了一个技巧,是否可以将我自己的链接功能固定到 GLM 而不是从头开始编写它?

2) 他们的信息是否与回归包的预期标准有关,例如,预期的“摘要”输出、输出的标准化名称、标准公式输入等?

3) 有什么好的“如何在 R 中编写包”资源可以推荐吗?

如果需要,我很乐意更具体。非常感谢您的回复。

最好的。

标签: rpackageregressionlogistic-regression

解决方案


应该可以创建自己的 GLM 链接功能。您可以执行以下操作:

my_link_function <- function(mu) 
{
  # Body of your link function
}

my_inverse_link_function <- function(eta) 
{
  # Body of your inverse link function
}

my_derivative_function <- function(eta)
{
  # function describing dmu / delta
}

my_valid_eta_function <- function(eta)
{
  # return TRUE if eta is in domain of inverse_link_function, otherwise FALSE
}

my_link <- list(linkfun  = my_link_function,
                linkinv  = my_inverse_link_function,
                mu.eta   = my_derivative_function,
                valideta = my_valid_eta_function,,
                name     = "my_link")
class(my_link) <- "link-glm"

现在你可以这样做:

glm(my_var1 ~ my_var2, family = binomial(my_link))

推荐阅读