我有一个从 1920 年到 2020 年的年份列表。我需要将它们转换为随后的几十年。 我如何在 R 中毫不费力地做到这一点? 我尝试编写嵌套的 if 语句,但它变得太长且乏味。
我的数据示例:
data <-structure(list(Years = c(1945L, 1987L, 1980L, 1963L, 2006L, 1995L,
1971L)), class = "data.frame", row.names = c(NA, -7L))
期望的输出:
任何帮助都意义重大!
最佳答案
data %>%
mutate(Decade = if_else(Years >= 2000,
paste0(Years %/% 10 * 10, "'s"),
paste0((Years - 1900) %/% 10 * 10, "'s")))
%/% 10 * 10
位在这里完成繁重的工作。 %/%
是“整数除法”运算符,它标识十进制的整数,然后乘以 10 就可以得到年。
Years Decade
1 1945 40's
2 1987 80's
3 1980 80's
4 1963 60's
5 2006 2000's
6 1995 90's
7 1971 70's
关于r - 如何在 R 中将年份映射到随后的几十年?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66821113/