# Recreate tables 3.4, 3.6, and 3.12 from Balk (2008)
index_formulas <- function(p1, p0, q1, q0) {
c(
harmonic_laspeyres = harmonic_index("Laspeyres")(p1, p0, q0),
geometric_laspeyres = geometric_index("Laspeyres")(p1, p0, q0),
laspeyres = arithmetic_index("Laspeyres")(p1, p0, q0),
paasche = harmonic_index("Paasche")(p1, p0, q1),
geometric_paasche = geometric_index("Paasche")(p1, p0, q1),
palgrave = arithmetic_index("Palgrave")(p1, p0, q1),
fisher = fisher_index(p1, p0, q1, q0),
tornqvist = geometric_index("Tornqvist")(p1, p0, q1, q0),
marshall_edgeworth = arithmetic_index("MarshallEdgeworth")(p1, p0, q1, q0),
walsh1 = arithmetic_index("Walsh1")(p1, p0, q1, q0),
vartia2 = geometric_index("Vartia2")(p1, p0, q1, q0),
vartia1 = geometric_index("Vartia1")(p1, p0, q1, q0),
stuvel = stuvel_index(2, 2)(p1, p0, q1, q0)
)
}
round(t(mapply(index_formulas, price6, price6[1], quantity6, quantity6[1])), 4)
Run the code above in your browser using DataLab