У меня есть набор данных, который выглядит следующим образом:
df_start <- tribble(
~name, ~age, ~x1_sn_ctrl1, ~x1_listing2_2, ~x1_affect1, ~x2_sn_ctrl1, ~x1_listing2_2, ~x2_affect1, ~number,
"John", 28, 1, 1, 9, 4, 5, 9, 6,
"Paul", 27, 2, 1, 4, 1, 3, 3, 4,
"Ringo", 31, 3, 1, 2, 2, 5, 8, 9)
Мне нужно pivot_longer()
при обработке группировок в моих столбцах:
- Есть 2 x -values (1 и 2)
- Для каждого значения x есть 3 вопроса (sn_ctrl1, перечисление2_2 ,ffect1)
В моем фактическом наборе данных имеется 14 x.
По сути, я хотел бы применить pivot_longer()
к значениям x, но оставить мои 3 вопроса (sn_ctrl1, перечисление2_2 ,ffect1) широкими.
В итоге я хотел бы вот что:
df_end <- tribble(
~name, ~age, ~xval, ~sn_ctrl1, ~listing2_2, ~affect1, ~number,
"John", 28, 1, 1, 1, 9, 6,
"John", 28, 2, 4, 5, 9, 6,
"Paul", 27, 1, 2, 1, 4, 4,
"Paul", 27, 2, 1, 3, 3, 4,
"Ringo", 31, 1, 3, 1, 2, 9,
"Ringo", 31, 2, 2, 5, 8, 9)
Я пробовал лоты очень неудачных попыток играть с регулярным выражением в names_pattern
& pivot_longer
, но я полностью поражаю вне.
Кто-нибудь знает, как с этим справиться?
СПАСИБО!
PS: Обратите внимание, что я попытался сделать простой воспроизводимый пример. Фактические имена моих столбцов немного различаются. Например, есть x1_sn_ctrl1
& x1_attr1_ctrl2
.