gpt4 book ai didi

r - 有没有办法简化 R 中利用循环的函数?

转载 作者:行者123 更新时间:2023-12-04 11:51:01 26 4
gpt4 key购买 nike

例如,我目前正在开发一个功能,该功能可让您查看如果您投资于股票市场,您可能拥有多少钱。它目前正在使用循环结构,这让我很恼火,因为我知道可能有更好的方法来编码它并利用 R 中的向量。我还在运行该函数之前创建了虚拟向量,这似乎也有点奇怪。

仍然是 R 的初学者(刚刚开始!),因此非常感谢任何有用的指导!

set.seed(123)
##Initial Assumptions
initialinvestment <- 50000 # e.g., your starting investment is $50,000
monthlycontribution <- 3000 # e.g., every month you invest $3000
months <- 200 # e.g., how much you get after 200 months

##Vectors
grossreturns <- 1 + rnorm(200, .05, .15) # approximation of gross stock market returns
contribution <- rep(monthlycontribution, months)
wealth <- rep(initialinvestment, months + 1)

##Function
projectedwealth <- function(wealth, grossreturns, contribution) {
for(i in 2:length(wealth))
wealth[i] <- wealth[i-1] * grossreturns[i-1] + contribution[i-1]
wealth
}

##Plot
plot(projectedwealth(wealth, grossreturns, contribution))

最佳答案

我可能会写

Reduce(function(w,i) w * grossreturns[i]+contribution[i],
1:months,initialinvestment,accum=TRUE)

但这是我对使用泛函的偏好。您使用 for 没有任何问题。在这里循环。

关于r - 有没有办法简化 R 中利用循环的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35079339/

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