[英]Create new column in data.frame based on if-else assessment of other columns
[英]save output in data.frame for if-else statement
我嘗試創建一個函數(稍后將與閃亮的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
但是,只有添加打印功能(據我所知不會保存結果...),我才能得到此信息:
任何幫助將不勝感激! 最好的祝福,
這是您要尋找的行為嗎?
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.