Как переключить два столбца в R (с примерами)


Иногда вам может понадобиться поменять местами два столбца во фрейме данных R. К счастью, это легко сделать с помощью одного из двух следующих фрагментов кода:

Вариант 1. Используйте синтаксис столбца.

#define order of data frame columns
df <- df[c("col1", "col2", "col3", "col4")]

Вариант 2. Используйте синтаксис строк и столбцов.

#define order of data frame columns
df <- df[ , c("col1", "col2", "col3", "col4")]

В следующих примерах показано, как использовать эти два фрагмента кода на практике.

Пример 1. Переключение двух столбцов с использованием синтаксиса столбцов

В следующем коде показано, как создать фрейм данных с четырьмя столбцами, а затем поменять местами первый и третий столбцы:

#create data frame
df <- data.frame(col1=c(1, 2, 6, 3, 6, 6),
 col2=c(4, 4, 5, 4, 3, 2),
 col3=c(7, 7, 8, 7, 3, 3),
 col4=c(9, 9, 9, 5, 5, 3))

#view data frame
df

 col1 col2 col3 col4
1 1 4 7 9
2 2 4 7 9
3 6 5 8 9
4 3 4 7 5
5 6 3 3 5
6 6 2 3 3

#switch positions of first and third column
df <- df[c("col3", "col2", "col1", "col4")]

#view new data frame
df

 col3 col2 col1 col4
1 7 4 1 9
2 7 4 2 9
3 8 5 6 9
4 7 4 3 5
5 3 3 6 5
6 3 2 6 3

Пример 2. Переключение двух столбцов с использованием синтаксиса строк и столбцов

В следующем коде показано, как создать фрейм данных с четырьмя столбцами, а затем поменять местами первый и третий столбцы:

#create data frame
df <- data.frame(col1=c(1, 2, 6, 3, 6, 6),
 col2=c(4, 4, 5, 4, 3, 2),
 col3=c(7, 7, 8, 7, 3, 3),
 col4=c(9, 9, 9, 5, 5, 3))

#view data frame
df

 col1 col2 col3 col4
1 1 4 7 9
2 2 4 7 9
3 6 5 8 9
4 3 4 7 5
5 6 3 3 5
6 6 2 3 3

#switch positions of first and third column
df <- df[ , c("col3", "col2", "col1", "col4")]

#view new data frame
df

 col3 col2 col1 col4
1 7 4 1 9
2 7 4 2 9
3 8 5 6 9
4 7 4 3 5
5 3 3 6 5
6 3 2 6 3

Обратите внимание, что оба метода приводят к одинаковым результатам.

Дополнительные ресурсы

Как суммировать определенные столбцы в R
Как усреднить по столбцам в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.