假设我有一个小标题(在我的示例中只有四列)。实际上,我有两个每小时的时间序列,因此有 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 小时内以简短(且优雅的方式)完成此操作?
我会用两个
across
:
a |>
mutate(across(matches(".x$"), .names = "{gsub('.x', '', .col)}_tot") +
across(matches(".y$")))