R中的数据清理:创建“重复”

时间:2018-02-10 17:27:31

标签: r merge data-cleaning

我得到了以下格式的数据集:

DF1 <- data.frame(
  TakerId = c(1,4,7,10,13),
  GiverId = c(3,2,11,4,10),
  Col1= c(24,28,26,20,23),
  Col2= c(37,31,38,35,39),
  Col3= c(44,48,43,45,41)
)
DF1

 TakerId GiverId Col1 Col2 Col3
       1       3   24   37   44
       4       2   28   31   48
       7      11   26   38   43
      10       4   20   35   45
      13      10   23   39   41

我需要在一个单独的列中合并前两列,这些列必须被称为UserId(保留重复项)。

然后,应创建一个新列以指示每个UserId是Taker还是Giver。

想要输出:

 UserId  Role Col1 Col2 Col3
      1 Taker   24   37   44
      4 Taker   28   31   48
      7 Taker   26   38   43
     10 Taker   20   35   45
     13 Taker   23   39   41
      3 Giver   24   37   44
      2 Giver   28   31   48
     11 Giver   26   38   43
      4 Giver   20   35   45
     10 Giver   23   39   41

1 个答案:

答案 0 :(得分:3)

我们可以2&#39; ID&#39;列进入&#39; long&#39;格式,然后剥离“ID&#39;来自&#39;角色&#39;和gather订单中的列

select