gpt4 book ai didi

r - 同一数据帧的每两列连续相乘

转载 作者:行者123 更新时间:2023-12-01 12:08:13 24 4
gpt4 key购买 nike

我有一个包含 83 列的数据框。我想将每个 i 和 i+1 列相乘并移至第 i+2 列,将 i+2 和 i+3 相乘,依此类推直到第 82 列。或者将 col1 和 col2、col3 和 col4 等相乘为 col81*col82并将结果存储在一个新的数据框中,每个产品都有一列。
有没有一种简单的方法可以做到这一点?

这是我手动创建的

new_df = data.frame(h1 = df1$c1*df1$c2,
h2 = df1$c3*df1$c4,
....,
h41 = df1$c81*df1$c82
)

有没有办法循环这个或者让它更容易?

最佳答案

您可以明确选择奇数列和偶数列

df[, seq(1, ncol(df), by = 2)] * df[, seq(2, ncol(df), by = 2)]

或者,更紧凑但可读性更差,

df[, c(TRUE, FALSE)] * df[, c(FALSE, TRUE)]

在回收的帮助下。

关于r - 同一数据帧的每两列连续相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54532856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com