如何组合数据框中的列以便它们在 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"))
基本上,我有来自科目间研究设计的数据,如下所示:
> 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"))