Як використовувати функцію melt() у r
Ви можете використовувати функцію melt() пакета reshape2 у R, щоб перетворити кадр даних із широкого формату на довгий формат.
Широкий формат містить значення, які не повторюються в першому стовпці.
Довгий формат містить значення, які повторюються в першому стовпці.
Наприклад, розглянемо наступні два набори даних, які містять однакові дані в різних форматах:
Функція melt() використовує такий базовий синтаксис для перетворення широкоформатного кадру даних у довгий формат:
melt(df, id=' team ')
Аргумент id визначає, яку змінну використовувати як перший стовпець кадру даних, значення якого будуть повторюватися.
У наступному прикладі показано, як використовувати цю функцію на практиці.
Приклад: як використовувати melt() у R
Припустімо, що ми маємо наступний кадр даних у R, який наразі є у широкому форматі:
#create data frame in wide format df <- data. frame (team=c('A', 'B', 'C', 'D'), dots=c(88, 91, 99, 94), assists=c(12, 17, 24, 28), rebounds=c(22, 28, 30, 31)) #view data frame df team points assists rebounds 1 A 88 12 22 2 B 91 17 28 3 C 99 24 30 4 D 94 28 31
Ми можемо використовувати функцію melt() , щоб швидко перетворити кадр даних у довгий формат:
library (reshape2) #use melt() to convert data frame from wide to long format long_df <- melt(df, id=' team ') #view long data frame long_df team variable value 1 A points 88 2 B points 91 3 C points 99 4 D points 94 5 A assists 12 6 B assists 17 7 C assists 24 8 D assists 28 9 A rebounds 22 10 B rebounds 28 11 C rebounds 30 12 D rebounds 31
Зауважте, що кадр даних тепер у довгому форматі.
Стовпці з очками, передачами та підбираннями були стиснуті в один стовпець під назвою variable , а їхні значення стиснуті в один стовпець під назвою value .
Ви можете перейменувати стовпці отриманого кадру даних за допомогою функції names() :
#rename columns in long_df names(long_df) <- c(' team ', ' metric ', ' amount ') #view updated data frame long_df team metric amount 1 A points 88 2 B points 91 3 C points 99 4 D points 94 5 A assists 12 6 B assists 17 7 C assists 24 8 D assists 28 9 A rebounds 22 10 B rebounds 28 11 C rebounds 30 12 D rebounds 31
Зверніть увагу, що стовпці були перейменовані.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як фільтрувати рядки в R
Як перенести фрейм даних у R
Як перейменувати стовпці фрейму даних у R