1500 1.53
我有一个具有多个年份和变量的数据集。我会指定多少每个,但我试图创建一个脚本,可以运行而不必复制和粘贴每个块每年/变量,所以希望代码将工作,无论这些规格。基本上,对于每个变量,我都有一个膨胀的对应项,比如INCOME和INCOME_INFLATED,我想创建一个手动膨胀的INCOME (INCOME_MANUAL),并将其与INCOME_INFLATED进行比较。
实际上,这里是我输入数据的一个例子:
CPIUIIUC -您可以使用矩阵操作从变量块中分配数据帧的新列:
relevant_vars <- c("income", ...)
data[paste0(relevant_vars, "_manual")] <- data[relevant_vars] * data$CPIU
用mtcars
:
relevant_vars <- names(mtcars)
mtcars$CPIU <- runif(nrow(mtcars))
mtcars[paste0(relevant_vars, "_manual")] <- mtcars[relevant_vars] * mtcars$CPIU
str(mtcars)
'data.frame': 32 obs. of 24 variables:
$ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
$ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
$ disp : num 160 160 108 258 360 ...
$ hp : num 110 110 93 110 175 105 245 62 95 123 ...
$ drat : num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
$ wt : num 2.62 2.88 2.32 3.21 3.44 ...
$ qsec : num 16.5 17 18.6 19.4 17 ...
$ vs : num 0 0 1 1 0 1 0 1 1 1 ...
$ am : num 1 1 1 0 0 0 0 0 0 0 ...
$ gear : num 4 4 4 3 3 3 3 4 4 4 ...
$ carb : num 4 4 1 1 2 1 4 2 2 4 ...
$ CPIU : num 0.699 0.616 0.111 0.658 0.957 ...
$ mpg_manual : num 14.68 12.93 2.54 14.09 17.9 ...
$ cyl_manual : num 4.194 3.695 0.446 3.95 7.658 ...
$ disp_manual: num 111.8 98.5 12 169.9 344.6 ...
$ hp_manual : num 76.9 67.7 10.4 72.4 167.5 ...
$ drat_manual: num 2.726 2.402 0.429 2.028 3.015 ...
$ wt_manual : num 1.831 1.771 0.259 2.117 3.293 ...
$ qsec_manual: num 11.51 10.48 2.07 12.8 16.29 ...
$ vs_manual : num 0 0 0.111 0.658 0 ...
$ am_manual : num 0.699 0.616 0.111 0 0 ...
$ gear_manual: num 2.796 2.464 0.446 1.975 2.872 ...
$ carb_manual: num 2.796 2.464 0.111 0.658 1.915 ...