【问题标题】:R: How to merge two rows based on specific valuesR:如何根据特定值合并两行
【发布时间】:2016-07-29 06:39:40
【问题描述】:

给定示例表,

  ID T A B X Y Z
   1 S 1   
   2 S 2
   1 E   4 a b c
   3 S 5
   2 E   8 d e f 

和假设:

  1. 对于相同的 ID,有一对行(第一行 T == S;第二行 行 T == E)
  2. 在第一行 (T == S) 中,列 ID、T、A 具有值
  3. 在第二行 (T == E) 中,列 ID、T、B、X、Y、Z 具有值
  4. 两行对不一定在彼此下方

我尝试执行以下操作:

  1. 查找具有相同 ID 的行
  2. 并合并值(到 T == S 行)
  3. 删除带有 T == E 的行 // 因为与其他行合并

结果应该是这样的

  ID T A B X Y Z
   1 S 1 4 a b c   
   2 S 2 8 d e f
   3 S 5
   ...

目前我使用两个嵌套的 for 循环,太慢了。有没有人比两个嵌套的 for 循环更快的想法?

【问题讨论】:

    标签: r for-loop merge rows


    【解决方案1】:

    Combine rows and sum their values 请参阅此问题的答案部分。

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多