一些受访者将出生年份不是年龄,需要将其全部转换为年龄(在 R 中)

Some respondents put birth year not age, need to convert it all to age (in R)

我有一项调查和其中一个关于年龄(岁)的问题。大多数人输入了他们的年龄,但有些人输入了他们的出生年份。所以我需要将它们转换为年龄(2020 年)。有没有一种方法可以做到这一点,而不是每年手动进行并转换它?我正在使用 R。 另外,为了代码将来可用,有没有办法从 'current' 年而不是 2020 年开始计算?

age<-c(22,1992,18,33,41,26,24,24,1982,30,1976,30)

这将教我在下一次调查中将 'max' 放入值框!

谢谢 :)

您可以使用简单的 ifelse语句来解决此问题:

如果 age > 1000,则从当前年份 2020 中减去 age;如果 age 不是 > 1000,则保留 age:

ifelse(age > 1000, 2020 - age, age)
[1] 22 28 18 33 41 26 24 24 38 30 44 30