我有一个数据,从2007年7月1日到2014年10月5日。
我正在尝试创建一个名为month_index
的名为dat
的列,该列将随着年份和月份的增加而增加整数值。
我写了下面的R代码,但它看起来并不简约。
dat$month_index <- with(dat,
ifelse(Year == 2007 & Month == 7, 7,
ifelse(Year == 2007 & Month == 8, 8,
ifelse(Year == 2007 & Month == 9, 9,
ifelse (Year == 2007 & Month == 10, 10,
ifelse(Year == 2007 & Month == 11, 11,
ifelse(Year == 2007 & Month == 12, 12,
ifelse(Year == 2008 & Month == 1, 13,
ifelse(Year == 2008 & Month == 2, 14,
ifelse(Year == 2008 & Month == 3, 15,
ifelse(Year == 2008 & Month == 4, 16, 17))))))))
如何在几行中执行代码?
答案 0 :(得分:6)
避免嵌套ifelse
的最佳情况是代数解决方案。幸运的是,这可以在这里工作:
dat$month_index <- with(dat, Month + 12 * (Year - 2007))