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

How to combine columns in a data frame so that they overlap in R?

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

>    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

如何合并列,使它们 "overlap" 像这样?

到目前为止,我已经尝试使用 dplyr 的一些连接函数,但它们对我来说没有用。我感谢以这种方式组合我的专栏的任何指导。

我们可以使用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"))