Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中生成高阶相互作用项_R_Linear Regression - Fatal编程技术网

在R中生成高阶相互作用项

在R中生成高阶相互作用项,r,linear-regression,R,Linear Regression,我希望有一个方法来为一组通用变量生成一个包含所有交互项的列表,直到指定的顺序。例如,对于变量x,y,z度3,我希望代码列出所有交互,即x,x*y,x^2*y,x*y*z等 我认为这应该可以使用多边形函数(因为它以我上面描述的方式计算所有交互项): #使用所需变量指定数据帧-在本例中为x、y和z tmp的结果应该是什么形式?这是公式术语列表吗?是的,公式术语列表将是理想的。为了清楚起见,我更新了这个问题。类似于(mtcars,poly(mpg,wt,hp,degree=3))的?我认为这与我的示例

我希望有一个方法来为一组通用变量生成一个包含所有交互项的列表,直到指定的顺序。例如,对于变量x,y,z度3,我希望代码列出所有交互,即x,x*y,x^2*y,x*y*z等

我认为这应该可以使用多边形函数(因为它以我上面描述的方式计算所有交互项):

#使用所需变量指定数据帧-在本例中为x、y和z

tmp的结果应该是什么形式?这是公式术语列表吗?是的,公式术语列表将是理想的。为了清楚起见,我更新了这个问题。类似于(mtcars,poly(mpg,wt,hp,degree=3))的
?我认为这与我的示例类似,但都没有给出我需要的结果。在您的示例中,我希望函数调用是myFunction(名称,3),其中名称是列表mpg,wt,hp,函数结果是列表hp,hp^2,hp^3,wt,hp*wt。。。。在我上面的例子中,你应该创建一个统一的例子。您有一个描述性示例,其中没有名称为x、y、z的有效代码。然后是一个没有名字的代码示例。我会去掉记忆的部分——它似乎不相关。如果你必须问另一个关于记忆的问题,但答案是“如果你没有足够的记忆,就不要问100万个词汇”。
#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)