将两列合并为一列,并根据以前的列成员资格

时间:2017-06-24 00:47:53

标签: r

我有这样的df:

df<- data.frame(node1= c("A", "B","C","A", "B","C"), node2= c("Z", 
"X", "Y","Z", "X", "Y"))

我想像这样创建一个数据框:

output<-data.frame(node= c("A", "B","C","A","B","C","Z","X","Y","Z", 
"X", "Y"), attrib= c("1", "1","1","1","1","1","2","2","2","2", 
"2", "2"))

这样,两个因子连接到一列,但是,创建了第二列,其中包含与数据最初所属的列相对应的标识符。

1 个答案:

答案 0 :(得分:0)

我们可以使用dplyrtidyr中的函数来重塑数据。

library(dplyr)
library(tidyr)
output <- df %>%
  gather(attrib, node) %>%
  mutate(attrib = sub("node", "", attrib)) %>%
  select(node, attrib)
相关问题