Контекст: я работаю над созданием некоторых функций, которые автоматизируют генерацию таблиц и стили для генерации отчетов (т. Е. Аналитическая работа на поздней стадии). Подход, который я использую, состоит в том, чтобы поместить мои данные в фреймы данных, которые я передам в «гибкий» для дальнейшей обработки. На разных этапах рабочего процесса мне нужно свернуть строки или столбцы и применить некоторое форматирование.
В приведенном ниже примере кода вы найдете два фрейма данных, long_df и wide_df, я бы хотел, чтобы они выглядели как соответствующие целевые фреймы данных. Я застрял на подходе.
Я подумал, что, может быть, 'tidyr :: unite' или использовал вставку в 'dplyr :: mutate' в длинном виде. Любые советы будут оценены.
library(tibble)
long_df <- tribble(
~Statistc, ~Model_1, ~Model_2,
'G2', 413.42, 532.93,
'df', 2, 3,
'CFI', .95, .91,
)
wide_df <- tribble(
~model, ~G2, ~df, ~CFI,
'Model_1', 413.42, 2, .95,
'Model_2', 532.93, 3, .91,
)
target_wide_df <- tribble(
~model, ~'G2 (df)', ~CFI,
'Model_1', '413.42 (2)', .95,
'Model_2', '532.93 (3)', .91,
)
target_long_df <- tribble(
~Statistc, ~Model_1, ~Model_2,
'G2 (df)', '413.42 (2)', '532.93 (3)',
'CFI', .95, .91,
)