Як транспонувати фрейм даних у r (з прикладами)


Є два поширені методи, які можна використовувати для транспонування кадру даних у R:

Спосіб 1: Використовуйте Base R

 #transpose data frame
t(df)

Спосіб 2. Використовуйте data.table

 library (data.table)

#transpose data frame
df_t <- transpose(df)

#redefine row and column names
rownames(df_t) <- colnames(df)
colnames(df_t) <- rownames(df)

Наступні приклади показують, як використовувати кожен із цих методів на практиці.

Спосіб 1: транспонування кадру даних за допомогою Base R

Припустимо, що ми маємо наступний кадр даних:

 #create data frame
df <- data. frame (A = c(1, 2, 3, 4, 5),
                 B = c(6, 7, 8, 9, 10),
                 C = c(11, 12, 13, 14, 15))

#define row names
row. names (df) <- c('One', 'Two', 'Three', 'Four', 'Five')

#view data frame
df

      ABC
One 1 6 11
Two 2 7 12
Three 3 8 13
Oven 4 9 14
Five 5 10 15

Ми можемо використовувати функцію R base t() , щоб швидко транспонувати кадр даних:

 #transpose data frame
t(df)

  One Two Three Four Five
A 1 2 3 4 5
B 6 7 8 9 10
C 11 12 13 14 15

Тепер рядки та стовпці поміняні місцями.

Спосіб 2: транспонування кадру даних за допомогою data.table

Знову припустимо, що ми маємо наступний кадр даних:

 #create data frame
df <- data. frame (A = c(1, 2, 3, 4, 5),
                 B = c(6, 7, 8, 9, 10),
                 C = c(11, 12, 13, 14, 15))

#define row names
row. names (df) <- c('One', 'Two', 'Three', 'Four', 'Five')

#view data frame
df

      ABC
One 1 6 11
Two 2 7 12
Three 3 8 13
Oven 4 9 14
Five 5 10 15

Ми можемо використати функцію transpose() пакета data.table для швидкого транспонування кадру даних:

 library (data.table)

#transpose data frame
df_t <- transpose(df)

#redefine row and column names
rownames(df_t) <- colnames(df)
colnames(df_t) <- rownames(df)

#display transposed data frame
df_t

  One Two Three Four Five
A 1 2 3 4 5
B 6 7 8 9 10
C 11 12 13 14 15

Результатом є транспонований кадр даних із попереднього прикладу.

Примітка : метод data.table буде набагато швидшим, ніж базовий R, якщо ви працюєте з надзвичайно великим кадром даних.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші поширені операції над кадрами даних у R:

Як застосувати функцію до кожного рядка кадру даних у R
Як додати порожній стовпець до кадру даних у R
Як створити підмножину кадру даних у R

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

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