我正在做一个调查研究项目,我们需要将一组列与另一组列相乘.我可以在base R中轻松做到这一点,但我不知道如何在整洁的、基于管道的工作流中做到这一点.我找到了许多将一组列与一列相乘的解决方案,但不适用于多列.非常感谢您的帮助.
下面的示例演示了如何在base R中解决问题.
library(tidyverse)
df <- tibble(
a1 = c(1, 2, 3, 4, 5),
a2 = c(5, 4, 3, 2, 1),
a3 = c(1, 5, 2, 4, 3),
b1 = c(1, 1, 2, 1, 1),
b2 = c(3, 3, 5, 4, 1),
b3 = c(2, 1, 4, 2, 1)
)
new_df <- df[, c("a1", "a2", "a3")] * df[, c("b1", "b2", "b3")]
names(new_df) <- c("c1", "c2", "c3")
由reprex package(v2.0.1)于2022年6月14日创建