작성
·
778
답변 1
0
안녕하세요. 처음에 봤을때는 간단할 줄 알았는데 생각보다 간단하지는 않네요.
어쩌면 제가 어렵게 생각하는 것일 수 도 있을 것 같습니다.
저는 엑셀에서 어떻게 할까를 먼저 생각하고 그걸 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)