I have a sample like this
df<-read.table (text=" People Sand ClaQQ Time IK1 K1Q1 K2Q1 K3Q1 GIQ1 Zoo1 IK2 K1Q2 K2Q2 K3Q2 GIQ2 Zoo2 IK3 K1Q3 K2Q3 K3Q3 GIQ3 Zoo3 IK4 K1Q4 K2Q4 K3Q4 GIQ4 Zoo4 IK5 K1Q5 K2Q5 K3Q5 GIQ5 Zoo5 IK6 K1Q6 K2Q6 K3Q6 GIQ6 Zoo6 IK7 K1Q7 K2Q7 K3Q7 GIQ7 Zoo7 IK8 K1Q8 K2Q8 K3Q8 GIQ8 Zoo8 Poor
1 F Y A 90 5 2 5 A F 21 4 2 5 B P 17 5 2 5 E P 15 1 2 1 B F 12 4 2 2 A P 9 4 2 2 A F 4 4 4 1 B F 2 5 4 3 A P Y
2 K N B 90 1 5 2 A P 21 1 5 5 B P 17 1 5 3 E P 15 1 2 3 B P 12 4 2 3 E P 9 4 4 3 C F 4 4 3 5 C P 2 4 3 5 B F N
", header=TRUE)
I want to get the following table
People KQ Sand ClaQQ Time IK GIQ Zoo Poor Score
1 K1Q1 F Y A 90 A F Y 5
1 K2Q1 F Y A 90 A F Y 2
1 K3Q1 F Y A 90 A F Y 5
1 K1Q2 F Y A 21 B P Y 4
1 K2Q2 F Y A 21 B P Y 2
1 K3Q2 F Y A 21 B P Y 5
1 K1Q3 F Y A 17 E P Y 5
1 K2Q3 F Y A 17 E P Y 2
1 K3Q3 F Y A 17 E P Y 5
1 K1Q4 F Y A 15 B F Y 1
1 K2Q4 F Y A 15 B F Y 2
1 K3Q4 F Y A 15 B F Y 1
1 K1Q5 F Y A 12 A P Y 4
1 K2Q5 F Y A 12 A P Y 2
1 K3Q5 F Y A 12 A P Y 2
1 K1Q6 F Y A 9 A F Y 4
1 K2Q6 F Y A 9 A F Y 2
1 K3Q6 F Y A 9 A F Y 2
1 K1Q7 F Y A 4 B F Y 4
1 K2Q7 F Y A 4 B F Y 4
1 K3Q7 F Y A 4 B F Y 1
1 K1Q8 F Y A 5 A P Y 5
1 K2Q8 F Y A 5 A P Y 4
1 K3Q8 F Y A 5 A P Y 3
2
2
2
2
I have tried to use the following link: Reshaping data.frame from wide to long format
But it did not help me as it is required multiple steps to run it.
Part of the steps that I have done are as follows:
library(dplyr)
library(tidyr)
library(stringr)
df %>%
select(People, starts_with('IK')) %>%
pivot_longer(cols = starts_with('IK'), values_to = 'Score',
names_to = 'IK')