【发布时间】:2016-07-03 19:58:11
【问题描述】:
编辑:对于任何感兴趣的人,我在这里完成了我的小项目,可以在此链接中看到它http://fdrennan.net/pages/myCurve.html 向下滚动到“我认为它已被很好地概括”以查看 curve_fitter 函数。如果你觉得有用,就偷它,我不需要信用。我仍然有 ncol 作为输入,但不再需要它。我只是没有删除它。
我正在编写一个脚本,它将为我做一些最小二乘的事情。我将使用它来拟合曲线,但想概括它。我希望能够在函数中写入“x,x^2”并将其粘贴到矩阵函数中并读取。这就是我所说的。
expressionInput <- function(func = "A written function", x = "someData",
nCol = "ncol") {
# Should I coerce the sting to something in order to make...
func <- as.SOMETHING?(func)
# ...this line to be equivalent to ...
A <- matrix(c(rep(1, length(x)), func), ncol = nCol)
# .... this line
# A <- matrix(c(rep(1, length(x)), x, x^2), ncol = 3)
A
}
expressionInput(func = "x, x^2", x = 1:10, nCol = 3)
返回 10 x 3 矩阵,其中一列为 1,第二列为 x,第三列为平方值。
下面的链接将显示一些用于曲线拟合的不同功能。这篇文章背后的想法是能够写成“x + x^2”或“x + sin(x)”或“e^x”等,并返回曲线的系数。 http://fdrennan.net/pages/myCurve.html
【问题讨论】:
-
您可能会喜欢
purrr::invoke。一般来说,将函数作为字符串处理是一个最好避免的挑剔过程。 -
我可以建议您使用公式(例如
~1+x+I(x^2))和model.matrix()函数作为更简单的方法吗? -
这个问题的措辞有点含糊。请让我知道我下面的回答是否正确解释了您所追求的内容,我会尝试编辑以使问题更清楚。