2015-11-07 95 views
-1

我有DF <-(ID,Year,Sales),我想创建第四列LastYearSale,选择去年的销售额。例如,如果有:去年同日销售

ID Year Sales 

1 01/01/2015 50000 
2 01/01/2014 20000 

我想输出是这样的:

ID Year Sales LastYearSales 

1 01/01/2015 50000 20000 
2 01/01/2014 20000 
+1

试试'library(dplyr); DF%>%mutate(LastYearSales = lead(Sales))' – akrun

回答

0

如果您Year列不在Date类,然后将其转换成Date类首先由

df$Year <- as.Date(df$Year, "%d/%m/%Y") 

然后你可以试用lubridate

library(lubridate) 
df$LastYearSales <- c(df[df$Year %in% (as.Date(ymd(df$Year) - years(1))), ]$Sales, NA) 
df 
# ID  Year Sales LastYearSales 
# 1 1 2015-01-01 50000  20000 
# 2 2 2014-01-01 20000   NA