用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,4L,5L,6L,6L),year = c(1993L,1997L,1993L,1994L,1995L,1996L,1996L
),income = c(733.465087890625,2369.16650390625,1401.07775878906,1416.66662597656,1517.80859375,2393.61059570312,843.074096679688,1433.33325195312,605.4619140625,2133.33349609375,2563.62280273438,2208.33325195312,2814.4111328125,832.193359375,1839.87182617188,12673.6337890625,855.849792480469
)),-20L),class = "data.frame")

解决方法

是的,您可以将dff$income除以dff$defl1995来获得调整后的1995年美元收入。

您知道,由于rpi数据集中的RPI不断增加,因此正在发生通货膨胀。

因此,由于您要按照1995年的美元来调整收入,所以与1995年的收入相同,与1995年的收入相比,1995年以前的收入将具有更多的购买力。相较于1995年相同的收入水平,购买力会更低。

对于id 3的个人,您会看到这种情况的发生。他们在1993、1995和1996年的固定收入为1401.078美元。但是,在调整收入之后,您将获得1484.622美元,1401.078美元和1368.051美元,这很有意义。