在R

时间:2016-05-09 11:37:55

标签: r

我一直试图用第三个变量生成一对有序变量的所有组合,即将下面的每一对(z1,z2)与所有z3组合。

theta <- seq(0, 2*pi, length = 5) 
z1 <- cos(theta) ;z2 <- sin(theta)
z3 <- seq(-3, 3, length = 5) 

我通常会使用expand.grid函数,但这里不合适,因为它会生成破坏排序的三个变量的组合。我在想,R中是否有可以做到这一点的功能?非常感谢所有帮助,谢谢。

2 个答案:

答案 0 :(得分:4)

另一种选择:

library(tidyr)
df <- data.frame(z1, z2, z3)
expand(df, nesting(z1, z2), z3) 

答案 1 :(得分:1)

我们$query = SerialNumber::orderBy('updated_at', 'desc')->getQuery(); $distincts = DB::table(DB::raw("(". $query->toSql() . ") as subQuery")) ->where('company_id', Auth::user()->active_company_id) ->groupBy('module') ->get(); 'z1'和'z2'并使用'z3'执行paste。从输出('d1'),我们将'Var1',即expand.grid d矢量分成两列。

paste