如何组合数据框中的列,使它们在R中重叠?

时间:2015-11-07 13:42:20

标签: r dplyr plyr reshape cbind

基本上,我有来自主题研究设计的数据,如下所示:

>    head(have, 3)
              A    B    C
        1          b 
        2     a  
        3               c

此处,A, B, C是研究的各种条件,因此每个受试者(由每行表示)仅具有其中一个条件的值。我想将它们结合起来,看起来像这样:

>    head(want, 3)
             all
        1     b 
        2     a  
        3     c

如何组合列以使它们像这样“重叠”?

到目前为止,我已尝试使用dplyr的一些连接函数,但它们并没有为我提供帮助。我非常感谢以这种方式组合我的专栏的任何指导。

1 个答案:

答案 0 :(得分:2)

我们可以使用pmax

want <- data.frame(all= do.call(pmax, have))

或使用dplyr

transmute(have, all= pmax(A, B, C))
#    all
#1   b
#2   a
#3   c

数据

have <- structure(list(A = c("", "a", ""), B = c("b", "", ""), 
 C = c("", 
"", "c")), .Names = c("A", "B", "C"), class = "data.frame", 
row.names = c("1", "2", "3"))