我尝试创建一个函数(稍后将用于处理闪亮的r)。 目前我无法将我的功能结果存储在数据框中。 到目前为止,我已经创建了以下代码:
f_expccm <- function(n,h,m,rr,dr,mc,ac) {
for(i in 1:6) {
eccm[i]<- vector(length=1)
if(i==1){
eccm[i] <- -ac
print(eccm[i])
}
else{
x <- h*n
nm <- x*m
pc <- nm-mc
crr <- 1*rr^(i-1)
cdr <- 1/(1+dr)^(i-1)
eccm[i] <- pc*cdr*crr
print(eccm[i])
}
output <- cbind(eccm[i])
}
}
output
qt <- f_expccm(10,250,.4,0.95,0.10,10,500)
我希望得到一个带有以下条目的输出data.frame:
[1] -500
[1] 855
[1] 738.4091
[1] 637.7169
[1] 550.7555
[1] 475.6525
但是如果我添加打印功能(据我所知不保存结果......)我只能得到这个...:
任何帮助都将非常感谢!!! 最好的问候,
答案 0 :(得分:0)
这是您正在寻找的行为吗?
f_expccm <- function(n,h,m,rr,dr,mc,ac) {
eccm <- vector(length=6)
eccm[1] <- -ac
for(i in 2:6) {
x <- h*n
nm <- x*m
pc <- nm-mc
crr <- 1*rr^(i-1)
cdr <- 1/(1+dr)^(i-1)
eccm[i] <- pc*cdr*crr
}
df <- data.frame(eccm)
return(df)
}
> qt <- f_expccm(10,250,.4,0.95,0.10,10,500)
> qt
eccm
1 -500.0000
2 855.0000
3 738.4091
4 637.7169
5 550.7555
6 475.6525