展开数据帧但保留R中的变量

时间:2017-12-04 15:21:42

标签: r

我想基于一个变量的所有成对组合扩展数据帧,同时保持第二个变量的关联值。例如:

V1 <- letters[1:2]
V2 <- 1:2
df <- data.frame(V1, V2)

我想回复:

Var1 Var2 Var3 Var4
a    a    1    1
b    a    2    1
a    b    1    2
b    b    2    2

我可以使用expand.grid(df$V1, df$V1)来获取所有对,但我不确定如何在不扩展其值的情况下包含第二个变量。

1 个答案:

答案 0 :(得分:1)

如果我们需要单独展开每个列,那么我们可以使用Map执行此操作,其中参数为2&lt; df&#39;对象

do.call(cbind, Map(expand.grid, df, df))