gpt4 book ai didi

r - 将索引函数应用于矩阵行中的每个值

转载 作者:行者123 更新时间:2023-12-01 23:14:10 26 4
gpt4 key购买 nike

我想将函数 exp(-r*(i/500)) 应用于矩阵行中的每个值(其中 i 表示列号).我知道如何使用循环执行此操作,但我正在尝试学习 R 中的“正确”方法。

我想过:

apply(st,1,function(v) { exp(-r * (i/500)*v })

但我不知道如何定义值 i,这样它会随着每一列递增。

我知道循环可以完成这个,但我相当确定这不是 R 中的最佳方法。

最佳答案

如果你必须使用apply,那么像这样吗?

> apply(as.matrix(seq_len(ncol(m))), 1, function(x) exp(-r * m[,x]/500))

m 是您的矩阵。

当然这里不用apply。您只需要构造一个合适的矩阵即可。

exp(-r * matrix(rep(1:ncol(m), nrow(m)), nrow=nrow(m), byrow=T)/500) * m

关于r - 将索引函数应用于矩阵行中的每个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14925647/

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