인프런 커뮤니티 질문&답변

최 프로님의 프로필 이미지
최 프로

작성한 질문수

빅데이터분석기사 실기대비 (R 활용)

작업형 1유형

중복된 값이 있는 행의 갯수를 세려면 어떻게 해야 하나요?

작성

·

778

0

아래와 같은 데이터프레임이 있을 때

X1, X2  두 변수를 기준으로 중복된 값이 있는 행의 

갯수를 세려면 어떻게 해야 하나요? 답 2개

duplicated() 나 unique() 를 사용할 경우,

중복된 행의 수를 구하기가 어렵습니다.

 

    X1  X2  X3

1  2     9    6

2  4     6    7

3  4     6     6

4  4     6     7

5  2     9     6

6  1     2     3

 

 

답변 1

0

companionclub님의 프로필 이미지
companionclub
지식공유자

 

안녕하세요. 처음에 봤을때는 간단할 줄 알았는데 생각보다 간단하지는 않네요.

어쩌면 제가 어렵게 생각하는 것일 수 도 있을 것 같습니다.

저는 엑셀에서 어떻게 할까를 먼저 생각하고 그걸 R 코드로 바꿔보았습니다.

 

1. 모든 값을 concat해서 새로운 칼럼만들고

2. 그걸 피벗해서 concat한 값 별로 숫자를 세고

3. 그 숫자가 1보다 큰 것을 더하기 했습니다.

 

아래 내용 참고부탁드립니다.

 

X1 <- c(2,4,4,4,2,1)

X2 <- c(9,6,6,6,9,2)

X3 <- c(6,7,6,7,6,3)

 

df <- data.frame(cbind(X1,X2,X3))

df$tmp <- paste0(df$X1,df$X2)

df

 

library(dplyr)

df %>% group_by(tmp) %>% summarize(length(tmp))

cnt <- df %>% group_by(tmp) %>% summarize(num = length(tmp))

final <- as.data.frame(cnt)

sum(final$num > 1)

최 프로님의 프로필 이미지
최 프로

작성한 질문수

질문하기