首页 > 解决方案 > 如何创建一个在变量的不同级别执行不同数学运算的函数

问题描述

我正在创建一个 R 函数,该函数需要将特定年份的收入值调整为 2018 年美元值。前几年是 1972、1980、1990、2000 和 2010。我的数据集中有一个名为“year”的变量和一个名为“income”的变量。

在函数中,我需要使用循环来循环遍历年份,并将每年内每个观察值的收入值调整为 2018 美元值。我有每年的转换率,但我不确定如何创建一个循环遍历每年并为每年进行特定转换的循环。

这是我第一次创建函数,也是我第一次真正使用循环。我试图这样做,但它没有在我的数据框中产生任何值:

incomeadj=NA
uslop2 <- cbind(uslop, incomeadj)
  adjust_income <- function(uslop2){
    if (uslop2$year == 1972){
      uslop2$incomeadj <- uslop2$income*(251.23/41.8)
    } else {NA}
  }
uslop2$incomeadj

我觉得我最终可以掌握我需要做的事情,但我现在正在苦苦挣扎。任何帮助是极大的赞赏。

标签: rfunctionloops

解决方案


推荐阅读