Data

class_roll <- read.xlsx("../data/class_roll190825.xlsx", 1, 
                        startRow = 2, 
                        endRow = 163, 
                        colIndex = c(3:7, 9), 
                        colClasses = rep("character", 6), 
                        stringsAsFactors = FALSE)
str(class_roll)
## 'data.frame':    161 obs. of  6 variables:
##  $ 학과      : chr  "경영대학" "법학과" "화학과" "데이터과학융합스쿨" ...
##  $ 학.직.번  : chr  "20198043" "20192701" "20163401" "20193201" ...
##  $ 이름      : chr  "TUMUROCHIR NOMINERDENE" "강미서" "강민주" "강선영" ...
##  $ 학년      : chr  "1" "1" "3" "1" ...
##  $ E.Mail    : chr  "nomit_0323@yahoo.com" NA "sksh085@naver.com" "hoban0000@naver.com" ...
##  $ 핸드폰번호: chr  "010-8138-6811" "010-8973-3307" "010-3390-4628" "010-9361-7863" ...
names(class_roll) <- c("dept", "id", "name", "year", "email", "cell_no")
str(class_roll)
## 'data.frame':    161 obs. of  6 variables:
##  $ dept   : chr  "경영대학" "법학과" "화학과" "데이터과학융합스쿨" ...
##  $ id     : chr  "20198043" "20192701" "20163401" "20193201" ...
##  $ name   : chr  "TUMUROCHIR NOMINERDENE" "강미서" "강민주" "강선영" ...
##  $ year   : chr  "1" "1" "3" "1" ...
##  $ email  : chr  "nomit_0323@yahoo.com" NA "sksh085@naver.com" "hoban0000@naver.com" ...
##  $ cell_no: chr  "010-8138-6811" "010-8973-3307" "010-3390-4628" "010-9361-7863" ...

Randomization

set.seed(36)
N <- nrow(class_roll) 
class_roll$group <- sample(1:N) %% 2 %>%
  factor(levels = c(0, 1), labels = c("Red", "Black"))

학번

class_roll %$%
  table(.$group, .$id %>% substr(1, 4)) %>%
  pander
  2011 2012 2013 2014 2015 2016 2017 2018 2019
Red 1 0 3 3 8 13 7 10 35
Black 1 1 3 6 11 15 2 7 35
# pander(table("그룹" = class_roll$group, substr(class_roll$id, 1, 4)))
class_roll %$%
  substr(.$id, 1, 4) %>%
  `>=`(2019) %>%
  ifelse("younger_19", "older_19") %>%
  factor(levels = c("younger_19", "older_19")) %>%
  table(class_roll$group, .) %>%
  pander
  younger_19 older_19
Red 35 45
Black 35 46
# ID_19 <- factor(ifelse(substr(class_roll$id, 1, 4) >= 2019, "younger_19", "older_19"), 
#                 levels = c("younger_19", "older_19"))
# pander(table("그룹" = class_roll$group, "19학번 기준" = ID_19))
# ID_18 <- factor(ifelse(substr(class_roll$id, 1, 4) >= 2018, "younger_18", "older_18"), 
#                 levels = c("younger_18", "older_18"))
# pander(table("그룹" = class_roll$group, "18학번 기준" = ID_18))
# ID_17 <- factor(ifelse(substr(class_roll$id, 1, 4) >= 2017, "younger_17", "older_17"), 
#                 levels = c("younger_17", "older_17"))
# pander(table("그룹" = class_roll$group, "17학번 기준" = ID_17))
# ID_16 <- factor(ifelse(substr(class_roll$id, 1, 4) >= 2016, "younger_16", "older_16"), 
#                 levels = c("younger_16", "older_16"))
# pander(table("그룹" = class_roll$group, "16학번 기준" = ID_16))
# ID_15 <- factor(ifelse(substr(class_roll$id, 1, 4) >= 2015, "younger_15", "older_15"), 
#                 levels = c("younger_15", "older_15"))
# pander(table("그룹" = class_roll$group, "15학번 기준" = ID_15))
# ID_14 <- factor(ifelse(substr(class_roll$id, 1, 4) >= 2014, "younger_14", "older_14"), 
#                 levels = c("younger_14", "older_14"))
# pander(table("그룹" = class_roll$group, "14학번 기준" = ID_14))

학번 홀짝

class_roll$id %>%
  as.numeric %>%
  `%%`(2) %>%
  factor(levels = c(1, 0), labels = c("홀", "짝")) %>%
  table(class_roll$group, .) %>%
  pander
 
Red 36 44
Black 41 40
# odd_even <- as.numeric(class_roll$id) %% 2
# odd_even <- factor(odd_even, levels = c(1, 0), labels = c("홀", "짝"))
# pander(table("Group"= class_roll$group, "odd_even" = odd_even))

e-mail 서비스업체

class_roll$email %>%
  strsplit("@", fixed = TRUE) %>%
  sapply("[", 2) %>%
  table(class_roll$group, .) %>%
  pander
  daum.net gmail.com hallym.ac.kr hanmail.net nate.com naver.com yahoo.com
Red 1 7 1 2 1 68 0
Black 0 5 0 2 3 69 1
# email_list <- strsplit(class_roll$email, "@", fixed = TRUE)
# mail_com <- sapply(email_list, "[", 2)
# pander(table("그룹" = class_roll$group, "e-mail" = mail_com))

전화번호의 분포

# cell_numbers <- sapply(substr(class_roll$cell_no, 
#                               start = 10, stop = 13),
#                        as.numeric)
cell_numbers <- class_roll$cell_no %>%
  substr(start = 10, stop = 13) %>%
  sapply(as.numeric)
cut_label <- paste(paste0(0:9, "000"), paste0(0:9, "999"), 
                   sep = "~")
# kable(t(table(cut(cell_numbers, 
#                   labels = cut_label, 
#                   breaks = seq(0, 10000, by = 1000)))))
cell_numbers %>%
  cut(labels = cut_label, 
      breaks = seq(0, 10000, by = 1000)) %>%
  table(class_roll$group, .) %>%
#   t %>%
  kable
0000~0999 1000~1999 2000~2999 3000~3999 4000~4999 5000~5999 6000~6999 7000~7999 8000~8999 9000~9999
Red 4 6 6 6 8 5 12 7 14 12
Black 7 5 9 9 5 11 7 9 10 9
cell_numbers %>%
  hist

# hist(cell_numbers)
cell_numbers %>%
  cut(labels = cut_label, 
      breaks = seq(0, 10000, by = 1000)) %>%
  table %>%
  chisq.test
## 
##  Chi-squared test for given probabilities
## 
## data:  .
## X-squared = 9.8696, df = 9, p-value = 0.3611
# chisq.test(table(cut(cell_numbers, 
#                   labels = cut_label, 
#                   breaks = seq(0, 10000, by = 1000))))

성씨 분포

f_name <- class_roll$name %>%
  substring(first = 1, last = 1) 
f_name %>%
  table(class_roll$group, .) %>%
  pander
  T
Red 0 2 0 0 1 3 16 0 2 1 0 8 1 1 1 0 2 2 1 1 2 0 0 0 11 2 4 2 2 4 0 1 0 1 4 0 1 2 0 1 1
Black 1 4 2 1 1 1 15 1 0 0 1 9 0 1 1 1 0 1 0 0 0 2 1 3 11 1 1 0 6 1 1 0 1 0 5 1 0 3 1 2 1
# f_name <- substring(class_roll$name, first = 1, last = 1)
# pander(table("Group" = class_roll$group, "Family Name" = f_name))

많이 나오는 성씨

f_name %>%
  `%in%`(c("김", "이", "박")) %>%
  ifelse(f_name, "기타") %>%
  factor(levels = c("김", "이", "박", "기타")) %>%
  table(class_roll$group, .) %>%
  pander
  기타
Red 16 11 8 45
Black 15 11 9 46
# f_name_f <- factor(ifelse(f_name %in% c("김", "이", "박"), f_name, "기타"), 
#                    levels = c("김", "이", "박", "기타"))
# pander(table("Group" = class_roll$group, "Family Name" = f_name_f))

학과

# pander(class_roll)
class_roll %$%
  table(.$group, .$dept) %>%
  pander
  간호학과 경영대학 경영학과 경제학과 광고홍보학과 글로벌학부 금융재무학과 나노융합스쿨 데이터과학융합스쿨 러시아학과 미디어스쿨 미래융합스쿨 바이오메디컬학과 법학과 사학전공 사회복지학 사회복지학부 사회학과 생명과학과 소프트웨어융합대학 식품영양학과 심리학과 언어병리학전공 융합소프트웨어학과 융합인재학부 응용광물리학과 인문학부 일본학과 전자공학과 정치행정학과 중국학과 철학전공 청각학전공 체육학과 컴퓨터공학과 화학과 환경생명공학과
Red 9 5 1 2 1 0 1 0 8 0 10 2 0 0 1 1 2 2 3 11 2 4 1 3 0 2 0 1 1 1 0 0 0 1 1 3 1
Black 3 5 3 5 2 1 1 1 11 1 4 2 1 1 1 0 0 0 3 9 0 4 1 4 4 0 1 0 5 2 1 1 1 1 1 0 1
# pander(table("그룹" = class_roll$group, "학과" = class_roll$dept))

전체 출석부

class_roll %$%
  order(.$group, .$name) %>%
  class_roll[., c("group", "id", "name")] %>%
  pander(row.names = FALSE)
group id name
Red 20163401 강민주
Red 20195284 강지석
Red 20176206 구다영
Red 20145208 권준영
Red 20192304 권현정
Red 20193205 권혜수
Red 20162509 김미연
Red 20193808 김민재
Red 20196207 김선우
Red 20196208 김성훈
Red 20192519 김수경
Red 20196211 김수정
Red 20172512 김수지
Red 20165306 김승현
Red 20193210 김여준
Red 20195131 김용우
Red 20182106 김윤희
Red 20192209 김진규
Red 20173516 김현구
Red 20195149 김현화
Red 20155120 김휘진
Red 20143311 김희수
Red 20132111 류붓샘
Red 20153613 류지은
Red 20143507 문도선
Red 20196230 박근휘
Red 20192538 박선웅
Red 20163313 박성민
Red 20175313 박성중
Red 20182870 박수용
Red 20192543 박인성
Red 20165132 박진우
Red 20161610 박현성
Red 20132409 방극찬
Red 20182884 백두산
Red 20134124 서승원
Red 20155132 송시호
Red 20195186 송예찬
Red 20192902 신명진
Red 20192550 신윤철
Red 20155136 심창현
Red 20165320 어형규
Red 20192915 오미나
Red 20194130 오유빈
Red 20181715 이강민
Red 20196629 이강혁
Red 20161064 이기복
Red 20173531 이상섭
Red 20192567 이수지
Red 20172626 이슬이
Red 20192569 이승윤
Red 20192945 이승효
Red 20192954 이정아
Red 20192957 이제훈
Red 20192132 이혜윤
Red 20186275 임성룡
Red 20165328 임지환
Red 20193246 장수빈
Red 20192350 장인영
Red 20183732 장지연
Red 20153160 장효준
Red 20192135 전소혜
Red 20163427 전혜림
Red 20183246 정수빈
Red 20112355 정윤진
Red 20155164 조규호
Red 20196641 조승현
Red 20155341 조하림
Red 20186294 조하연
Red 20186296 지용주
Red 20173541 채성혁
Red 20196289 최기태
Red 20163963 최승규
Red 20163258 최우헌
Red 20192587 최호성
Red 20192588 표가영
Red 20192237 한승용
Red 20162922 한원석
Red 20183262 홍예은
Red 20155174 황승현
Black 20198043 TUMUROCHIR NOMINERDENE
Black 20192701 강미서
Black 20193201 강선영
Black 20193202 강정민
Black 20162802 강태수
Black 20196501 고민재
Black 20196601 고진규
Black 20135303 공준범
Black 20165302 구영모
Black 20196203 권민서
Black 20145104 김건형
Black 20153704 김권리
Black 20196505 김상현
Black 20153109 김성렬
Black 20182838 김용해
Black 20196216 김원
Black 20165217 김유진
Black 20196217 김이정
Black 20192107 김주리
Black 20153115 김철원
Black 20155216 김현성
Black 20195148 김현식
Black 20131736 김현욱
Black 20142539 김현준
Black 20195151 김홍의
Black 20191514 당빈
Black 20192534 민가흔
Black 20115131 박명진
Black 20191046 박성근
Black 20192415 박승희
Black 20192541 박영상
Black 20143124 박예준
Black 20192884 박지원
Black 20154224 박지훈
Black 20192887 박진우
Black 20165511 박혜정
Black 20182116 백경민
Black 20193223 서재현
Black 20162856 손동민
Black 20163525 신윤정
Black 20155146 유일송
Black 20183524 유하빈
Black 20163634 육예진
Black 20153144 윤석환
Black 20172624 윤은영
Black 20174138 윤정환
Black 20196630 이건상
Black 20141322 이건우
Black 20162872 이경민
Black 20121434 이군로
Black 20183238 이예진
Black 20196521 이완택
Black 20155149 이용하
Black 20193240 이재현
Black 20183240 이주영
Black 20182564 이지수
Black 20193243 이현준
Black 20193729 임정우
Black 20165329 장우영
Black 20155160 정국진
Black 20193250 정민우
Black 20165333 정성관
Black 20195247 정원석
Black 20163039 정현욱
Black 20193255 정훈기
Black 20144257 조중현
Black 20165336 주철현
Black 20192999 진승재
Black 20145259 최동연
Black 20152136 최상민
Black 20193259 최용준
Black 20183254 최윤수
Black 20196426 최지수
Black 20193351 추현호
Black 20135357 한승탁
Black 20196532 한승호
Black 20162439 한지원
Black 20165531 허세미
Black 20193014 홍연진
Black 20162143 홍자영
Black 20155175 황영조
# pander(class_roll)
# table("단과대학" = class_roll$college, "그룹" = class_roll$group)

Red
  id name
3 20163401 강민주
6 20195284 강지석
11 20176206 구다영
14 20145208 권준영
15 20192304 권현정
16 20193205 권혜수
19 20162509 김미연
20 20193808 김민재
22 20196207 김선우
24 20196208 김성훈
25 20192519 김수경
26 20196211 김수정
27 20172512 김수지
28 20165306 김승현
29 20193210 김여준
30 20195131 김용우
34 20182106 김윤희
37 20192209 김진규
39 20173516 김현구
44 20195149 김현화
46 20155120 김휘진
47 20143311 김희수
49 20132111 류붓샘
50 20153613 류지은
51 20143507 문도선
53 20196230 박근휘
55 20192538 박선웅
57 20163313 박성민
58 20175313 박성중
59 20182870 박수용
63 20192543 박인성
67 20165132 박진우
68 20161610 박현성
70 20132409 방극찬
72 20182884 백두산
73 20134124 서승원
76 20155132 송시호
77 20195186 송예찬
78 20192902 신명진
80 20192550 신윤철
81 20155136 심창현
82 20165320 어형규
83 20192915 오미나
84 20194130 오유빈
91 20181715 이강민
92 20196629 이강혁
97 20161064 이기복
98 20173531 이상섭
99 20192567 이수지
100 20172626 이슬이
101 20192569 이승윤
102 20192945 이승효
107 20192954 이정아
108 20192957 이제훈
112 20192132 이혜윤
113 20186275 임성룡
115 20165328 임지환
116 20193246 장수빈
118 20192350 장인영
119 20183732 장지연
120 20153160 장효준
121 20192135 전소혜
122 20163427 전혜림
126 20183246 정수빈
128 20112355 정윤진
131 20155164 조규호
132 20196641 조승현
134 20155341 조하림
135 20186294 조하연
137 20186296 지용주
139 20173541 채성혁
140 20196289 최기태
143 20163963 최승규
145 20163258 최우헌
148 20192587 최호성
150 20192588 표가영
151 20192237 한승용
154 20162922 한원석
158 20183262 홍예은
160 20155174 황승현
Black
  id name
1 20198043 TUMUROCHIR NOMINERDENE
2 20192701 강미서
4 20193201 강선영
5 20193202 강정민
7 20162802 강태수
8 20196501 고민재
9 20196601 고진규
10 20135303 공준범
12 20165302 구영모
13 20196203 권민서
17 20145104 김건형
18 20153704 김권리
21 20196505 김상현
23 20153109 김성렬
31 20182838 김용해
32 20196216 김원
33 20165217 김유진
35 20196217 김이정
36 20192107 김주리
38 20153115 김철원
40 20155216 김현성
41 20195148 김현식
42 20131736 김현욱
43 20142539 김현준
45 20195151 김홍의
48 20191514 당빈
52 20192534 민가흔
54 20115131 박명진
56 20191046 박성근
60 20192415 박승희
61 20192541 박영상
62 20143124 박예준
64 20192884 박지원
65 20154224 박지훈
66 20192887 박진우
69 20165511 박혜정
71 20182116 백경민
74 20193223 서재현
75 20162856 손동민
79 20163525 신윤정
85 20155146 유일송
86 20183524 유하빈
87 20163634 육예진
88 20153144 윤석환
89 20172624 윤은영
90 20174138 윤정환
93 20196630 이건상
94 20141322 이건우
95 20162872 이경민
96 20121434 이군로
103 20183238 이예진
104 20196521 이완택
105 20155149 이용하
106 20193240 이재현
109 20183240 이주영
110 20182564 이지수
111 20193243 이현준
114 20193729 임정우
117 20165329 장우영
123 20155160 정국진
124 20193250 정민우
125 20165333 정성관
127 20195247 정원석
129 20163039 정현욱
130 20193255 정훈기
133 20144257 조중현
136 20165336 주철현
138 20192999 진승재
141 20145259 최동연
142 20152136 최상민
144 20193259 최용준
146 20183254 최윤수
147 20196426 최지수
149 20193351 추현호
152 20135357 한승탁
153 20196532 한승호
155 20162439 한지원
156 20165531 허세미
157 20193014 홍연진
159 20162143 홍자영
161 20155175 황영조