提取数字R后,从两列中选择更高的值

时间:2013-05-07 10:11:11

标签: r vcftools

我有一个数据框(包含8个变量的451个obs),它有两列(6& 7),如下所示:

  Major      Minor
  C:726      T:2
  A:687      G:41
  T:3        C:725

我想创建一个总结这个的列。要做到这一点,我不关心每个单元格中的字母,但我希望保留更大的数字,无论它在哪一行。即我希望它看起来像这样:

  Summary_column
  726
  687
  725

没有必要,但对于那些想知道我在做什么的人来说,这是一个名为VCFtools的程序的输出;它具有计数VCF中等位基因的计数功能,但有时它将等位基因命名为“次要”,当它显然更常见时。

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

我会做这样的事情:

extract <- function(v) {
  gsub("^.*:", "", v)
}
within(d, Summary_column <- pmax(extract(Major), extract(Minor)))

给出了:

  Major Minor Summary_column
1 C:726   T:2            726
2 A:687  G:41            687
3   T:3 C:725            725