r - 如何在 R 中将年份映射到随后的几十年?

标签 r datetime tidyverse tidyr data-cleaning

我有一个从 1920 年到 2020 年的年份列表。我需要将它们转换为随后的几十年。 我如何在 R 中毫不费力地做到这一点? 我尝试编写嵌套的 if 语句,但它变得太长且乏味。

我的数据示例:

data <-structure(list(Years = c(1945L, 1987L, 1980L, 1963L, 2006L, 1995L, 
1971L)), class = "data.frame", row.names = c(NA, -7L))

期望的输出:

Sample

任何帮助都意义重大!

最佳答案

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/

相关文章:

r - 使用 case_when 按列位置进行变异

r - 我想总结一个数据框

r - 在ggplot2 map /geom_polygon中仅绘制外边界

r - 编织后不要打开 RStudio 内部浏览器

r - 使用 regsubsets 进行 Predict()

python - 在 Python 中,如何以可读格式显示当前时间

使用 rename_all 从列名中删除后缀?

c# - 是否可以使用 C# 中定义的对象作为使用 R.NET 的 R 函数/命令的输入

android - 如何在android中从毫秒获取日期

php - 使用 MySQL 的 TIMESTAMP 与直接存储时间戳