假设我有如下所示的一些网络数据:
col_a <- c("A","B","C")
col_b <- c("B","A","A")
val <- c(1,3,7)
df <- data.frame(col_a, col_b, val)
df
col_a col_b val
1 A B 1
2 B A 3
3 C A 7
这可能是一个网络,val可能是两个之间边缘的权重。然而,我想要将A和B之间的权重以及B和A之间的权重相加,得到以下结果:
new_col_a <- c("A", "A")
new_col_b <- c("B", "C")
new_val <- c(4,7)
want_df <- data.frame(new_col_a, new_col_b, new_val)
want_df
new_col_a new_col_b new_val
1 A B 4
2 A C 7
有没有一种方法可以使用
dplyr
来完成这个任务?