使用 dplyr 多次添加两列

问题描述 投票:0回答:1

假设我有一个小标题(在我的示例中只有四列)。实际上,我有两个每小时的时间序列,因此有 2 乘以 24 列:

s1.x,...,s24.x, s1.y,...,s24.y

现在我想将 s1.x 与 s1.y、s2.x 与 s2.y 到 s24.x 与 s24.y 相加。

a <- tibble(s1.x=2:7, s2.x=3:8, s1.y=4:9, s2.y=5:10)

a %>% 
  mutate(s1.tot=s1.x+s1.y, s2.tot=s2.x+s2.y)

如何才能在 24 小时内以简短(且优雅的方式)完成此操作?

r dplyr sum
1个回答
0
投票

我会用两个

across
:

a |> 
  mutate(across(matches(".x$"), .names = "{gsub('.x', '', .col)}_tot") + 
           across(matches(".y$")))
© www.soinside.com 2019 - 2024. All rights reserved.