R 作为公式输入的用户定义函数

R 作为公式输入的用户定义函数,r,R,例如,R中的内置函数可以用于公式对象 reg1 = lm(y ~ log(x), data = data1) 如何编写函数,以便在公式对象中使用 fnMyFun = function(x) { return(x^2) } reg2 = lm(y ~ fnMyFun(x), data = data1) 你所得到的肯定有用。一个问题是,不同的建模函数以不同的方式处理公式。我认为只要您返回model.matrix可以理解的东西,您就可以了。那就意味着 该函数是矢量化的;给定一个长度为N的向量

例如,R中的内置函数可以用于公式对象

reg1 = lm(y ~ log(x), data = data1)
如何编写函数,以便在公式对象中使用

fnMyFun = function(x) {
  return(x^2)
}
reg2  = lm(y ~ fnMyFun(x), data = data1)

你所得到的肯定有用。一个问题是,不同的建模函数以不同的方式处理公式。我认为只要您返回
model.matrix
可以理解的东西,您就可以了。那就意味着

  • 该函数是矢量化的;给定一个长度为N的向量,它也返回一个长度为N的结果

  • 它必须返回一个原子向量或矩阵(但不是一个列表,或类型为
    raw