在r中一对多合并两个列

时间:2018-09-27 14:08:56

标签: r merge col

<?php echo wc_price( wc_get_price_to_display( $product, array( 'price' => $product->get_price() * 1.04 ) ) ); ?>

现在,我需要在新向量中创建一列,例如“ vec”,如下所示:

d1 = c("2a", "3a") 

d2 = c("k1", "k2")

基本上,我只需要一个包含两列的每个组合的列。 合并选项没有帮助。任何意见是极大的赞赏。

1 个答案:

答案 0 :(得分:2)

我假设您的vec中有一个错字,因为您说的是“具有两列的每种组合”。如果是这样,那应该可行

x <- expand.grid(d1, d2, stringsAsFactors = FALSE)
x$d3 <- paste(x[,"Var1"], x[,"Var2"], sep = "-")


> x
  Var1 Var2    d3
1   2a   k1 2a-k1
2   3a   k1 3a-k1
3   2a   k2 2a-k2
4   3a   k2 3a-k2

使用dplyr之类的方法还有更优雅的方法。