首页 > 解决方案 > 从R中的同一行中减去多行

问题描述

我希望从数据框中的同一行中减去多行。

例如:

Group   A    B    C
   A    3    1    2
   B    4    0    3
   C    4    1    1
   D    2    1    2

这就是我想要的样子:

Group   A    B    C
   B    1    -1   1
   C    1    0    -1
   D    -1   0    0

换句话说:

B 行 - A 行

C行 - A行

D行 - A行

谢谢!

标签: r

解决方案


这是一个dplyr解决方案:

library(dplyr)

df %>% 
      mutate(across(A:C, ~ . - .[1])) %>% 
      filter(Group != "A")

这给了我们:

   Group  A  B  C
1:     B  1 -1  1
2:     C  1  0 -1
3:     D -1  0  0

推荐阅读