R에서 열을 재정렬하는 방법


종종 R의 데이터 프레임에서 열을 다시 정렬하고 싶을 수도 있습니다.

다행히 dplyr 패키지의 select() 함수를 사용하면 이 작업을 쉽게 수행할 수 있습니다.

 library (dplyr)

이 튜토리얼에서는 다음 데이터 프레임을 사용하여 실제로 이 함수를 사용하는 방법에 대한 몇 가지 예를 보여줍니다.

 #create data frame
df <- data.frame(player = c('a', 'b', 'c', 'd', 'e'),
                 position = c('G', 'F', 'F', 'G', 'G'),
                 points = c(12, 15, 19, 22, 32),
                 rebounds = c(5, 7, 7, 12, 11))

#view data frame
df

  player position points rebounds
1 to G 12 5
2 b F 15 7
3 c F 19 7
4 d G 22 12
5th G 32 11

예 1: 열을 첫 번째 위치로 이동

다음 코드는 데이터 프레임의 특정 열을 첫 번째 위치로 이동하는 방법을 보여줍니다.

 #move column 'points' to first position
df %>% select(points, everything() )

  points player position rebounds
1 12 a G 5
2 15 b F 7
3 19 c F 7
4 22 d G 12
5 32nd G 11

이 코드는 dplyr에게 포인트 열을 먼저 선택한 다음 포인트 뒤에 다른 모든 열을 포함하도록 지시합니다.

예 2: 열을 마지막 위치로 이동

다음 코드는 데이터 프레임의 특정 열을 마지막 위치로 이동하는 방법을 보여줍니다.

 #move column 'points' to last position
df %>% select(-points, points)

  player position rebounds points
1 to G 5 12
2 b F 7 15
3c F 7 19
4 d G 12 22
5th G 11 32

이 코드는 dplyr에게 포인트 열을 제외한 모든 열을 선택한 다음 포인트 열을 다시 선택하도록 지시합니다. 이는 포인트 열을 데이터 프레임의 마지막 위치로 이동시키는 효과가 있습니다.

예시 3: 여러 열 재정렬

다음 코드는 여러 열을 특정 순서로 한 번에 다시 정렬하는 방법을 보여줍니다.

 #change all column names to uppercase
df %>% select(rebounds, position, points, player)

  rebounds position points player
1 5 G 12 a
2 7 F 15 b
3 7 F 19 c
4 12 G 22 d
5 11 G 32 e

예 4: 열을 알파벳순으로 다시 정렬

다음 코드는 열을 사전순으로 정렬하는 방법을 보여줍니다.

 #order columns alphabetically
df %>% select(order(colnames(.)))

  player points position rebounds
1 to 12 G 5
2 b 15 F 7
3 c 19 F 7
4 d 22 G 12
5 th 32 G 11

예시 5: 열의 역순

다음 코드는 데이터 프레임의 열 순서를 바꾸는 방법을 보여줍니다.

 #reverse column order
df %>% select(rebounds:player, everything() )

  rebound points position player
1 5 12 G a
2 7 15 F b
3 7 19 F c
4 12 22 L d
5 11 32 G e

참고: 여기에서 select () 함수에 대한 전체 문서를 찾을 수 있습니다 .

추가 리소스

다음 튜토리얼에서는 dplyr에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

dplyr을 사용하여 인덱스로 열을 선택하는 방법
dplyr을 사용하여 이름으로 열을 선택하는 방법
dplyr을 사용하여 데이터 프레임에 열을 추가하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다