金钱的时间价值 - 计算数据框中每一行的周期数

time value of money - calculating number of periods for each row in a data frame

我正在使用财务包中的 tvm 来尝试计算数据框中每一行的周期数

这为我提供了一组输入的正确答案:

tvm(i=28.99, pv=3929.02, pmt=-167.61, n=NA)

下面的三行抛出了我粘贴在底部的错误

山姆 <- data.frame(28.99, 3929.02, 167.61, NA)

萨姆

z <- tvm(i=sam$X28.99,pv=sam$X2929.02,pmt=-sam$X167.61,n=sam$NA。)

tvm 错误(i = sam$X28.99,pv = sam$X2929.02,pmt = -sam$X167.61,n = sam$NA。): 不可用值的数量不正确

问题在这里:

sam$X2929.02
# NULL

列的名称是 X3929.02

sam <- data.frame(28.99, 3929.02, 167.61, NA)
tvm(i=sam$X28.99, pv=sam$X3929.02, pmt=-sam$X167.61, n=sam$NA.)
#
# Time Value of Money model
#
#     I% #N      PV FV     PMT Days #Adv P/YR C/YR
# 1 28.99 35 3929.02  0 -167.61   30    0   12   12

我会命名数据框的列,这样你就不会 运行 再次进入这个。

sam <- data.frame(28.99, 3929.02, 167.61, NA)
names(sam) <- c("i", "pv", "pmt", "n")
tvm(i=sam$i, pv=sam$pv, pmt=-sam$pmt, n=sam$n)
#
# Time Value of Money model
#
#     I% #N      PV FV     PMT Days #Adv P/YR C/YR
# 1 28.99 35 3929.02  0 -167.61   30    0   12   12

或使用列表:

sam <- list(i = 28.99, pv = 3929.02, pmt = 167.61, n = NA)
tvm(i=sam$i, pv=sam$pv, pmt=-sam$pmt, n=sam$n)
#
# Time Value of Money model
#
#     I% #N      PV FV     PMT Days #Adv P/YR C/YR
# 1 28.99 35 3929.02  0 -167.61   30    0   12   12