Як використовувати функцію 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *