货币的时间价值 - 计算数据框中每一行的期数

时间:2015-09-12 17:36:44

标签: r financial

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

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

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

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

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

SAM

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。): 不可用值的数量不正确

1 个答案:

答案 0 :(得分:0)

问题在于:

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