Иногда вам может понадобиться поменять местами два столбца во фрейме данных 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