我正试图在r工作室制作一篇列示日期的财政年度的专栏。
我现在有2列,一列显示月份(作为一个数字),一列显示年份。
我希望第三栏显示财政年度,选出:
如果月份<=为3年&年份=2017年,那么金融year= FY1617
如果月份为>= 4&年份=2017年,那么金融year= FY1718
等等
这似乎是一件简单的事情,但我尝试了很多事情,但无法解决!
发布于 2021-01-14 10:46:31
这个怎么样:
library(dplyr)
df2 <- df %>%
mutate(
fy = ifelse(
month <= 3,
paste0("FY", year-2001, year-2000),
paste0("FY", year-2000, year-1999)
)
)这将是一个非常简单的解决方案.
发布于 2021-01-14 10:40:38
也许这不是最优雅的方式,但它应该去。
df <- data.frame(month = c(1, 4, 2, 6, 3, 9, 12, 11, 6, 8, 7, 10),
year = c(2018, 2018, 2017, 2019, 2018, 2017, 2018, 2018, 2018, 2019, 2017, 2018))
v_fy <- c()
for (i in 1:nrow(df)) {
if (df$month[i] < 4) {
fy <- paste("FY", substr(df$year[i]-1, 3, 4), substr(df$year[i], 3, 4), sep = "")
v_fy <- c(v_fy, fy)
} else {
fy <- paste("FY", substr(df$year[i], 3, 4), substr(df$year[i] + 1, 3, 4), sep = "")
v_fy <- c(v_fy, fy)
}
}
df$fy <- v_fyhttps://stackoverflow.com/questions/65717119
复制相似问题