如何在R中的polr()函数中使用optim()

时间:2015-10-20 14:49:47

标签: r function optimization

在浏览互联网,相关问题并尝试数天而没有任何成功之后,我希望您可以帮助我在R中包含optim()polr()函数。

我想要做的是设置一些约束(系数的下限和/或上限)。如果你有一个如何运作的一般例子,我会非常高兴。

让我们考虑以下虚假和无意义的数据:

set.seed(3)

my.df <- data.frame(id = 1:1000, y = sample(c(1,2,3), 1000, replace = TRUE),
a = rnorm(5000, 1, 0.1), b = rnorm(100, 1.9, 0.5), c = rnorm (10, 0.8, 1.2))

和这样的polr函数:

model <- polr(y ~ a + b + c, method = 'logistic')

我确实得到了c的系数,这是负数(尽管不显着),但我知道它与y是正的关系。因此,我想将它的系数限制为正数,我想我可以用optim()来做到这一点。

我希望包含一些内容:

optim(model, method = "L-BFGS-B", lower = c(a = -1, b = -1, c = 0))

哪个不起作用。

我认为可能有一些选项可以将optim()函数包含到 polr函数中使用(对我而言)奥术...但我不能弄清楚如何。有什么想法吗?

非常感谢,不管你信不信,我真的很努力。

0 个答案:

没有答案