在R;根据2列相等的值向现有列添加值,否则为空

时间:2016-05-19 14:20:05

标签: r

我是R numpty所以请帮忙。我有一个csv表(Combined1)有13列(0.5百万行)。我在末尾'Wildtype_TYPE'有一个空列,只有col'TYPE.x'中的值与col'TYPE.y'中的值匹配时,我才想用col'TYPE.x'中的值填充。我已经尝试过这个了:

Combined1[, "Wildtype_TYPE" := "TYPE.x"["TYPE.x" == "TYPE.y"] 

并且变异和ifelse但我无法让它工作。我得到打印输出的行号和FALSE等。 任何帮助非常感谢。谢谢。

我希望它最终会像这样:

TYPE.x    TYPE.y    Wildtype_TYPE
  A         C
  G         G           G
  C         C           C
  T         G
    USE CHROM.x POS.x   REF.x   TYPE.x  QUAL.x  CHROM.y POS.y   REF.y   TYPE.y  QUAL.y  Wildtype_TYPE
1   gi|339957448|gb|AENI01001139.1|14433    gi|339957448|gb|AENI01001139.1| 14433   G   G   41.77   gi|339957448|gb|AENI01001139.1| 14433   G   NA  41.77    
2   gi|339957448|gb|AENI01001139.1|14471    gi|339957448|gb|AENI01001139.1| 14471   T   C   195.77  gi|339957448|gb|AENI01001139.1| 14471   T   C   183.77   
3   gi|339957448|gb|AENI01001139.1|14474    gi|339957448|gb|AENI01001139.1| 14474   C   T   1226.77 gi|339957448|gb|AENI01001139.1| 14474   C   T   899.84   

1 个答案:

答案 0 :(得分:0)

可再现的例子会更好,但你应该尝试一下:

Combined1[ Combined1$TYPE.x ==  Combined1$TYPE.y,'Wildtype_TYPE'] <-  Combined1[ Combined1$TYPE.x ==  Combined1$TYPE.y, 'TYPE.x']