3

Built-in functions in R can be used in formula objects, for example

reg1 = lm(y ~ log(x), data = data1)

How can I write my functions such that they can be used in formula objects?

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

1 回答 1

2

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

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

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

于 2013-07-19T16:03:04.573 回答