I have the below example dataset and I'm trying to use pivot_longer() so I have a column for test/retest, a column for color and a column for change/pct_change. I'm unsure how to use names_pattern = given my column headings don't have separators. Any suggestions as to how I can go about this will be appeciated.
subject <- paste("Subject", 1:10)
test <- round(rnorm(10, 42, 2), 1)
retest <- round(test + runif(10, -3, 4), 1)
change <- retest - test
pct_change <- round(((test - retest) / test) * -100, 1)
color <- rep(c("darkgreen", "green", "orange", "red", "darkred"),
times = 2)
ex_dat <- data.frame(subject, test, retest, change, pct_change, color)
This is what I'd like the result to be.
subject color time type value
1 Subject 1 darkgreen test change value
2 Subject 1 darkgreen retest pct_change value
3 Subject 2 green test change value
4 Subject 2 green retest pct_change value
5 Subject 3 orange test change value
6 Subject 3 orange retest pct_change value
7 Subject 4 red test change value
8 Subject 4 red retest pct_change value
9 Subject 5 darkred test change value
10 Subject 5 darkred retest pct_change value