2013-05-07 61 views
2

我有一个数据帧(8个变量451个OBS),其具有两列(6 & 7)如下所示:选择从两列较高的值,R

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

我想创建一个总结这一点的专栏。要做到这一点,我不关心在每个单元的字母,但我想更大的数量保持,它在任何行即我希望它看起来是这样的:

Summary_column 
    726 
    687 
    725 

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

感谢您的帮助!

回答

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 
+0

这是太酷了。 – cianius 2013-05-07 10:24:13

+0

你会如何编辑以获得较小的数字? – cianius 2013-05-07 10:34:52

+1

只需用'pmin'替换'pmax'即可。 – juba 2013-05-07 10:35:51