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