用 R 缩减收入数据
Deflate income data with R
假设我有收入数据(数据可以在下面找到),我想根据 RPI 缩减。
id year income
1: 1 1993 733.4651
2: 2 1997 2369.1665
3: 3 1993 1401.0778
4: 3 1994 1416.6666
5: 3 1995 1401.0778
6: 3 1996 1401.0778
7: 3 1997 1517.8086
....
year rpi defl1995
1 1993 555. 0.944
2 1994 568. 0.967
3 1995 588. 1
4 1996 602. 1.02
5 1997 621. 1.06
用
计算参考年份
rpi$defl1995 = rpi$rpi / rpi$rpi[rpi$year == 1995]
然后合并
dff = merge(dff, rpi, by = c('year'))
我的问题是:你会把收入数据除以缩减吗?不是相乘吧?
dff$income_delf = dff$income / dff$defl1995
数据
rpi = structure(list(year = c(1993, 1994, 1995, 1996, 1997), rpi = c(555.1,
568.5, 588.2, 602.4, 621.3), defl1995 = c(0.943726623597416,
0.966507990479429, 1, 1.02414144848691, 1.05627337640258)), row.names = c(NA,
-5L), class = "data.frame")
dff = structure(list(id = c(1L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L,
4L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L), year = c(1993L, 1997L,
1993L, 1994L, 1995L, 1996L, 1997L, 1993L, 1994L, 1995L, 1996L,
1993L, 1994L, 1995L, 1996L, 1997L, 1993L, 1994L, 1995L, 1996L
), income = c(733.465087890625, 2369.16650390625, 1401.07775878906,
1416.66662597656, 1401.07775878906, 1401.07775878906, 1517.80859375,
2393.61059570312, 843.074096679688, 1433.33325195312, 605.4619140625,
2133.33349609375, 2563.62280273438, 2208.33325195312, 2814.4111328125,
832.193359375, 1839.87182617188, 12673.6337890625, 0, 855.849792480469
)), row.names = c(NA, -20L), class = "data.frame")
是的,您可以将 dff$income
除以 dff$defl1995
得到以 1995 美元计算的调整后收入。
您知道 inflation 正在发生,因为 rpi
数据集中的 RPI 正在增加。
因此,由于您是根据 1995 年的美元调整收入,与 1995 年的相同收入相比,1995 年之前的相同收入会具有更大的购买力。同样,多年的相同收入与 1995 年相同收入相比,1995 年之后的购买力会降低。
您可以看到 id
3 的个人发生这种情况。他们在 1993、1995 和 1996 年的固定收入为 1401.078 美元。但是,在调整收入后,您将获得 1484.622 美元、1401.078 美元、和 1368.051 美元,这是有道理的。
假设我有收入数据(数据可以在下面找到),我想根据 RPI 缩减。
id year income
1: 1 1993 733.4651
2: 2 1997 2369.1665
3: 3 1993 1401.0778
4: 3 1994 1416.6666
5: 3 1995 1401.0778
6: 3 1996 1401.0778
7: 3 1997 1517.8086
....
year rpi defl1995
1 1993 555. 0.944
2 1994 568. 0.967
3 1995 588. 1
4 1996 602. 1.02
5 1997 621. 1.06
用
计算参考年份rpi$defl1995 = rpi$rpi / rpi$rpi[rpi$year == 1995]
然后合并
dff = merge(dff, rpi, by = c('year'))
我的问题是:你会把收入数据除以缩减吗?不是相乘吧?
dff$income_delf = dff$income / dff$defl1995
数据
rpi = structure(list(year = c(1993, 1994, 1995, 1996, 1997), rpi = c(555.1,
568.5, 588.2, 602.4, 621.3), defl1995 = c(0.943726623597416,
0.966507990479429, 1, 1.02414144848691, 1.05627337640258)), row.names = c(NA,
-5L), class = "data.frame")
dff = structure(list(id = c(1L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L,
4L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L), year = c(1993L, 1997L,
1993L, 1994L, 1995L, 1996L, 1997L, 1993L, 1994L, 1995L, 1996L,
1993L, 1994L, 1995L, 1996L, 1997L, 1993L, 1994L, 1995L, 1996L
), income = c(733.465087890625, 2369.16650390625, 1401.07775878906,
1416.66662597656, 1401.07775878906, 1401.07775878906, 1517.80859375,
2393.61059570312, 843.074096679688, 1433.33325195312, 605.4619140625,
2133.33349609375, 2563.62280273438, 2208.33325195312, 2814.4111328125,
832.193359375, 1839.87182617188, 12673.6337890625, 0, 855.849792480469
)), row.names = c(NA, -20L), class = "data.frame")
是的,您可以将 dff$income
除以 dff$defl1995
得到以 1995 美元计算的调整后收入。
您知道 inflation 正在发生,因为 rpi
数据集中的 RPI 正在增加。
因此,由于您是根据 1995 年的美元调整收入,与 1995 年的相同收入相比,1995 年之前的相同收入会具有更大的购买力。同样,多年的相同收入与 1995 年相同收入相比,1995 年之后的购买力会降低。
您可以看到 id
3 的个人发生这种情况。他们在 1993、1995 和 1996 年的固定收入为 1401.078 美元。但是,在调整收入后,您将获得 1484.622 美元、1401.078 美元、和 1368.051 美元,这是有道理的。