r - 如何在 R 中将年份映射到随后的几十年?
问题描述
我有一个从 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
推荐阅读
- python - C# WPF + Python
- java - 如何在枚举构造函数中 @Autowire @Component`s?
- css - 在 React 中使用 CSS Peek
- java - Spring Boot:Swagger-UI 白标错误
- python - 依赖于另一个循环的 Tk 事件循环
- python - .py 到 exe 不产生 matplotlib 图
- performance - 多个时间序列的超参数调整
- sqlite - 如何对额外列中的两列行元素求和?
- git - .gitignore .gitattributes 声明的所有二进制文件
- javascript - 如何将值赋给会话密钥并同时将其作为参数应用?[Laravel 惯性 Vue]