Home > Enterprise >  Year-month-week expression
Year-month-week expression

Time:07-15

I have a data written in specific expression. To simplify the data, here is the example I made:

df<-data.frame(date=c(2012034,2012044,2012051,2012063,2012074),
               math=c(100,100,23,46,78))

2012034 means 4th week of march,2012. Likewise 2012044 means 4th week of April,2012. I was trying to make the values of date expressing some order. The reason why I have to do this is because when I don't change them to time expressions, x axis of the scatter plot looks really weird.

My goal is this: Find the oldest date in date column and name it as 1. In this case, 2012034 should be 1. Next, find the second oldest date in date column and calculate how many weeks passed after that date. The second oldest date in date is 2012044.So, 5 weeks after the oldest date 2012034. So it should be changed as 1 5=6. So, likewise, I want to number the date to indicate how many weeks have passed since the oldest date

CodePudding user response:

One way to do it is by also specifying the day of the week and subtract it at the end, i.e.

as.Date(paste0(df$date, '-1'), '%Y%m%U-%u') - 1
#[1] "2012-03-22" "2012-04-22" "2012-05-01" "2012-06-15" "2012-07-22"
  • Related