我希望有一种方法来生成一组通用变量的所有交互项的列表,直到指定的顺序。例如。变量x,y,z度3我希望代码列出所有交互,即x,x * y,x ^ 2 * y,x * y * z等。
我认为这应该可以使用多边形函数(因为这会以我上面描述的方式计算所有交互项):
#specify a dataframe with the desired variables- in this case x,y and z
tmp <- data.frame(x=runif(4),y=runif(4),z=runif(4))
#use the poly function to generate all interaction terms (up to order 3 in this example)
res<-poly(as.matrix(tmp),degree=3)
#use the colnames function to extract the power of x,y,z in each term
termOrder<-colnames(res)
我陷入困境的时候,我认为应该可以将我的变量名x,y,z与termOrder结果给出的幂组合起来。例如。 1.0.0的第一列应映射到x ^ 1 * y ^ 0 * z ^ 0 = x,依此类推,但我不确定如何继续。