gpt4 book ai didi

r - 列对的矩阵平均值

转载 作者:行者123 更新时间:2023-12-04 10:30:53 24 4
gpt4 key购买 nike

我有一个 100 X 10 矩阵,其中行是股票,列是每个月的价格。我需要每 2 个月取每只股票的平均价格(根据下面给出的矩阵,每只股票总共 5 次)。这应该对所有 100 只股票进行。我该怎么做?

msft     20  30  40  50  60  70  35  76  46  90
good 30 45 24 45 56 67 56 65 55 66
aapl 60 46 56 32 43 54 55 57 67 56
yhoo 64 54 45 56 67 66 78 65 77 78
bac 45 43 54 45 62 54 57 67 78 54
jpm 34 35 36 56 54 43 58 69 54 67

最佳答案

你可以做到

(mat[, c(TRUE, FALSE)] + mat[, c(FALSE, TRUE)]) / 2

概括为

n.by.n <- 2
j <- seq_len(ncol(mat))
j.list <- split(j, j %% n.by.n)
m.list <- lapply(j.list, function(j)mat[, j, drop = FALSE])
Reduce(`+`, m.list) / n.by.n

您还可以使用矩阵乘法:

n.by.n <- 2
w <- matrix(0, ncol(mat), ncol(mat) / n.by.n)
w[(row(w) + 1) %/% n.by.n == col(w)] <- 1 / n.by.n
mat %*% w

关于r - 列对的矩阵平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19148305/

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