我需要一个32年的循环,该循环将检查当前年份是否为(假设为4的倍数),如果是,则为我的利息值添加一个值
我尝试使用ifelse,但我认为我不太了解该功能的工作原理。
result <- rbind(c(t,Na))
Na <- 10
for (t in 1:32){
ifelse(t=c(4,8,12,16,20,24,28,32),(Na <- Na+((t/4)*20)),(Na <- Na))
result <- rbind(result,round(c(t,Na),2))
}
答案 0 :(得分:0)
如果您不愿意使用for循环,可以这样做(未经测试):
t <- 1:32
idx <- which(t %% 4==0)
Na <- rep(10,32)
Na[idx] <- Na[idx]+20*t[idx]/4
result <- cbind(t, cumsum(Na))
第二行过滤需要特殊处理的那些组件的索引。第三行创建一个长度为32的向量,所有分量均为10。第四行进行特殊处理。最后一行使用cumsum
计算累计和。