본문 바로가기
R 주제/R 기초 및 통계 강의

[R강의] 161. 데이터프레임 행과 열을 제거하는 방법

by 만다린망고 2023. 4. 26.
반응형

데이터프레임을 하나 정의합시다. 

v1=c(1,2,1,3,2)
v2=c(20,10,10,10,30)
v3=c('a','b','c','d','e')

df=data.frame(v1,v2,v3)

 

> df
  v1 v2 v3
1  1 20  a
2  2 10  b
3  1 10  c
4  3 10  d
5  2 30  e

 

1. 열 제거하는 방법

첫번째 열을 제거하는 방법은 아래와 같습니다. 제거하고 싶은 열의 번호에 마이너스를 붙이고 인덱싱하면 됩니다. 

> df[-1]
  v2 v3
1 20  a
2 10  b
3 10  c
4 10  d
5 30  e


아래와 같이 콤마를 넣어도 됩니다. 

> df[,-1]
  v2 v3
1 20  a
2 10  b
3 10  c
4 10  d
5 30  e


첫번째 열과 세번째 열을 제거하는 방법은 아래와 같습니다. 

> df[c(-1,-3)]
  v2
1 20
2 10
3 10
4 10
5 30


아래와 같이 콤마를 넣으면 이번에는 결과가 벡터로 출력됩니다. 

> df[,c(-1,-3)]
[1] 20 10 10 10 30

 

대괄호 안의 각 자리는 [행,열]을 의미합니다. 콤마로 구분하여 입력하는 경우 출력 값은 기본적으로 벡터입니다. df[,-1] 에서 데이터프레임이 출력된 이유는 열이 두개라 벡터로 출력할 수 없기 때문입니다. 

 

2. 행 제거하는 방법

첫번째 행을 제거하는 방법은 아래와 같습니다. 

> df[-1,]
  v1 v2 v3
2  2 10  b
3  1 10  c
4  3 10  d
5  2 30  e

 

첫번째 행과 세번째 행을 제거하는 방법은 아래와 같습니다. 

> df[c(-1,-3),]
  v1 v2 v3
2  2 10  b
4  3 10  d
5  2 30  e

 

반응형

댓글