【发布时间】:2019-09-17 11:39:07
【问题描述】:
我在 R 中有以下数据框
my_df <- data.frame(V1 = c(1,2,3,1), V2 = c("A","B","C","A"), V3 = c("S1", "S1", "S1", "S2"), V4 = c("x","x","x","x"), V5 = c("y","y","y","y"), V6 =c("A", "B", "C", "D"))
> my_df
V1 V2 V3 V4 V5 V6
1 1 A S1 x y A
2 2 B S1 x y B
3 3 C S1 x y C
4 1 A S2 x y D
现在我想检查 V1 和 V2 中的值组合是否在 df 中多次出现。在我的示例中,my_df 第 1 行和第 4 行具有相同的值“1 A”和“1 A”。如果发生这种情况,我想要以下输出:
> my_df_new
V1 V2 V3 V4 V5 V6_S1 V6_S2
1 1 A S1;S2 x y A D
2 2 B S1 x y B
3 3 C S1 x y C
所以基本上有两件事发生了变化:
- V3 现在包含 df 中所有行的值,其中 V1 和 V2 中的值相同。它们由';'分隔
- 新的 V6 列包含该列的原始值。
其余列和值应保持不变。
我怎样才能做到这一点?
【问题讨论】:
标签: r