Epistemology

The truth is out there.

R에서 중복행을 제거하는 방법

2023-02-22

R을 가지고 데이터를 분석할 때 중복행을 제거해야 하는 경우가 많습니다. 쉬운 방법을 하나 소가하겠습니다. 우선 보기를 하나 만들겠습니다.

1a <- c(rep("A", 3), rep("B", 3), rep("C",2))
2b <- c(1,1,2,4,1,1,2,2)
3df <-data.frame(a,b)

윗 코드를 실행하면 다음과 같은 데이터프래임이 하나 만들어집니다.

 1> df
 2  a b
 31 A 1
 42 A 1
 53 A 2
 64 B 4
 75 B 1
 86 B 1
 97 C 2
108 C 2

이 데이터프래임은 1행과 2행, 5행과 6행, 그리고 7행과 8행이 중복입니다. 이때 unique() 함수를 사용하며 중복행을 쉽게 제거할 수 있습니다. 다음과 같이 사용하시면 됩니다.

 1> unique(df)
 2  a b
 31 A 1
 43 A 2
 54 B 4
 65 B 1
 77 C 2
 8> df
 9  a b
101 A 1
112 A 1
123 A 2
134 B 4
145 B 1
156 B 1
167 C 2
178 C 2

물론 덮어쓰기를 하지 않은 상태이기 때문에 앞에서 본 것처럼 df도 다음과 같이 그대로 있습니다. df가 더이상 필요하지 않다면 다음과 같이 해서 덮어써도 됩니다. 그러나 데이터 분석을 하는 경우에는 이렇게 하는 것은 추천하지 않습니다. 원자료는 소중합니다!!

1> df <- unique(df) 
2> df
3  a b
41 A 1
53 A 2
64 B 4
75 B 1
87 C 2