通过从另一个表中划分所有可能的列组合来创建新的数据框

我正在努力寻找一个简单快速的解决方案,通过将它们之间的所有“组”列相乘来创建一个新的数据框。

数据为例

a1 <- rnorm(n = 10)
b1 <- rnorm(n = 10)
c1 <- rnorm(n = 10)
a2 <- rnorm(n = 10)
b2 <- rnorm(n = 10)
c2 <- rnorm(n = 10)

例如在我的初始数据表中

Original <- data.frame(
  date = seq(today()-9, today(), by = 1),
  a1 = a1,
  b1 = b1,
  c1 = c1,
  a2 = a2,
  b2 = b2,
  c2 = c2)

这个数据表是我想要实现的(即,以 1 结尾的列之间的所有可能组合的列和以 2 结尾的列之间的所有可能组合的列)

Objective <- data.frame(
  date = seq(today()-9, today(), by = 1),
  b1a1 = b1*a1,
  c1a1 = c1*a1,
  c1b1 = c1*b1,
  b2c2 = b2*c2,
  b2a2 = b2*a2,
  c2a2 = c2*a2)

我尝试使用循环,但这不是一个非常优雅和有效的解决方案;或者至少我的不是。非常欢迎使用 tidyverse 的解决方案

提前致谢

以上是通过从另一个表中划分所有可能的列组合来创建新的数据框的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>