I am working on database that contains patients' information collected through a 24-week time period. Each patient in the dataframe is represented by a single row with a unique id. There are four numerical variables (cpr, cf, h and m) that have been measured at 0, 12 and 24 weeks, so that 3 columns for each variable have been created: cpr0, cpr12, cpr24, cf0, cf12, cf24... and so on.
In order to successfully analyse this dataframe, it is much more convenient to transform it from wide to long format. What I would like to achieve is to have a new "time" variable with possible values c(0, 12, 24) and the rest of the measured variables coded without the reference to the time they were collected, like the sample dataframe in this image.
I have tried using pivot_longer() function from tidyr, but I don't seem to get the result I am expecting.