반응형
대회별 우승팀
worldcups_to_2022.csv 데이터 세트를 통해서 확인가능하나, total_wcmatches ( wcmatches.csv + wcmatches_2022.csv) 사용하여 분석
worldcups_to_2022.csv
year | host | winner | second | third | fourth |
1930 | Uruguay | Uruguay | Argentina | USA | Yugoslavia |
1934 | Italy | Italy | Czechoslovakia | Germany | Austria |
1938 | France | Italy | Hungary | Brazil | Sweden |
1950 | Brazil | Uruguay | Brazil | Sweden | Spain |
1954 | Switzerland | West Germany | Hungary | Austria | Uruguay |
1958 | Sweden | Brazil | Sweden | France | West Germany |
1962 | Chile | Brazil | Czechoslovakia | Chile | Yugoslavia |
1966 | England | England | West Germany | Portugal | Soviet Union |
1970 | Mexico | Brazil | Italy | West Germany | Uruguay |
1974 | Germany | West Germany | Netherlands | Poland | Brazil |
1978 | Argentina | Argentina | Netherlands | Brazil | Italy |
1982 | Spain | Italy | West Germany | Poland | France |
1986 | Mexico | Argentina | West Germany | France | Belgium |
1990 | Italy | West Germany | Argentina | Italy | England |
1994 | USA | Brazil | Italy | Sweden | Bulgaria |
1998 | France | France | Brazil | Croatia | Netherlands |
2002 | Japan, South Korea | Brazil | Germany | Turkey | South Korea |
2006 | Germany | Italy | France | Germany | Portugal |
2010 | South Africa | Spain | Netherlands | Germany | Uruguay |
2014 | Brazil | Germany | Argentina | Netherlands | Brazil |
2018 | Russia | France | Croatia | Belgium | England |
2022 | Qatar | Argentina | France | Croatia | Morocco |
total_wcmatches.csv
champion_by_year <- total_wcmatches %>% group_by(year, country) %>% filter (stage == "Final") %>% select (year, country, winning_team, losing_team) champion_by_year %>% tail() %>% |
year | country | winning_team | losing_team |
2002 | Japan | Brazil | Germany |
2006 | Germany | Italy | France |
2010 | South Africa | Spain | Netherlands |
2014 | Brazil | Germany | A!rgentina |
2018 | Russia | France | Croatia |
2022 | Qatar | Argentina | France |
champion_by_year %>% rename(champion = winning_team, second_place = losing_team) #변수(열) 이름 변경 |
total_wcmatches %>% group_by(year, country) %>% filter(stage == "Final") %>% select(year, country, champion = winning_team, second_place = losing_team) # 결과와 변수명 변경을 동시에 수행 |
year | country | champion | second_place |
1930 | Uruguay | Uruguay | Argentina |
1934 | Italy | Italy | Czechoslovakia |
1938 | France | Italy | Hungary |
1954 | Switzerland | West Germany | Hungary |
1958 | Sweden | Brazil | Sweden |
1962 | Chile | Brazil | Czechoslovakia |
1966 | England | England | West Germany |
1970 | Mexico | Brazil | Italy |
1974 | Germany | West Germany | Netherlands |
1978 | Argentina | Argentina | Netherlands |
1982 | Spain | Italy | West Germany |
1986 | Mexico | Argentina | West Germany |
1990 | Italy | West Germany | Argentina |
1994 | United States | Brazil | Italy |
1998 | France | France | Brazil |
2002 | Japan | Brazil | Germany |
2006 | Germany | Italy | France |
2010 | South Africa | Spain | Netherlands |
2014 | Brazil | Germany | Argentina |
2018 | Russia | France | Croatia |
2022 | Qatar | Argentina | France |
- 변수명이 winning_team에서 champion로 losing_team에서 second_place로 변경됨
- 1950년 Brazil 대회 결과가 없음 (stage가 "Final"인 데이터가 없어, 1950년 대회 결과가 미산출됨)
1950년 브라질 월드컵 결승리그
total_wcmatches %>% filter (year == 1950 & stage == "Final Round") |
stage | home_team | away_team | home_score | away_score | outcome | win_conditions | winning_team | losing_team | date |
Final Round | Brazil | Sweden | 7 | 1 | H | Brazil | Sweden | 1950-07-09 | |
Final Round | Spain | Uruguay | 2 | 2 | D | 1950-07-09 | |||
Final Round | Brazil | Spain | 6 | 1 | H | Brazil | Spain | 1950-07-13 | |
Final Round | Sweden | Uruguay | 2 | 3 | A | Uruguay | Sweden | 1950-07-13 | |
Final Round | Brazil | Uruguay | 1 | 2 | A | Uruguay | Brazil | 1950-07-16 | |
Final Round | Spain | Sweden | 1 | 3 | A | Sweden | Spain | 1950-07-16 |
- 1950년 Brazil 대회는 제2차 세계 대전 이후의 첫 월드컵으로, 제2차 세계 대전의 추축국(樞軸國, Axis powers)인
독일(동·서독)과 일본은 이 대회 출전 자격을 박탈 당함 - 이러한 이유로 1950년 대회는 월드컵 역사상 초대 대회와 더불어 독일이 불참한 단 두 번의 월드컵
- 추축국 출신인 이탈리아와 오스트리아는 제재를 받지 않았으나, 오스트리아는 기권
- 아르헨티나는 브라질과 경쟁 이슈로 불참, 에콰도르와 페루는 기권
- 헝가리와 체코슬로바키아는 나라가 공산화로 출전 거부, 같은 이유로 소련도 예선 불참
- 터키와 스코틀랜드, 인도는 지역 예선을 통과했지만 조 추첨 전에 기권
- FIFA는 이 팀들의 자리를 지역 예선에서 탈락한 포르투갈과 프랑스, 아일랜드로 채워 넣으려 했지만 포르투갈은 거부하고 프랑스와 아일랜드는 처음에는 수용하였으나 나중에 기권
- 아시아의 유일한 출전국이었던 인도는 맨발로 축구를 할 수 없다로 기권
- 많은 팀들의 기권으로 인해 입을 손실을 줄이기 위해 조별리그와 결승리그로 구분하고, 조별리그의 1위팀이 결승리그에 진출하고, 결승 리그의 1위 팀을 우승팀으로 결정
- 조별리그 조 편성 및 결승리그 진출팀 (브라질, 스페인, 스웨덴, 우르과이)
- 1조 : 브라질, 유고슬라비아, 스위스, 멕시코
- 2조 : 스페인, 잉글랜드, 칠레, 미국
- 3조 : 스웨덴, 이탈리아, 파라과이, 인도(기권)
- 4조 : 우르과이, 볼리비아, 프랑스(기권)
- 현재까지 FIFA 월드컵 역사상 4강 토너먼트가 아닌 4강 결승 리그 방식으로 치러진 대회로 남아있음
Reference & Image Source https://namu.wiki/w/1950%20FIFA%20%EC%9B%94%EB%93%9C%EC%BB%B5%20%EB%B8%8C%EB%9D%BC%EC%A7%88
국가별 우승횟수
worldcups_to_2022.csv
wc_rank_by_year %>% group_by(winner) %>% summarise( no_of_champ = n_distinct(year) ) %>% arrange (desc(no_of_champ)) |
winner | no_of_champ |
Brazil | 5 |
Italy | 4 |
Argentina | 3 |
West Germany | 3 |
France | 2 |
Uruguay | 2 |
England | 1 |
Germany | 1 |
Spain | 1 |
- 최다 우승국은 브라질로 5회, 이탈리아 4회, 독일은 서독(3회)과 통일 독일(1회)를 합쳐서 4회
- 아르헨티나는 2022년 우승으로 3회
- 우승 경험 국가는 8개국 (서독은 독일로 반영, 1회 이상 참가국 79개국)
total_wcmatches.csv
total_wcmatches %>% group_by(year, country) %>% filter (stage == "Final") %>% select (year, country, winning_team) %>% mutate (winning_team = fct_collapse(winning_team, "Germany" = c("Germany", "West Germany", "East Germany"), "Czech" = c("Czechoslovakia","Czech Republic"), "Russia" = c("Soviet Union", "Russia"), "Serbia" = c("Serbia", "Yugoslavia", "FR Yugoslavia") )) %>% group_by(winning_team) %>% summarise(champion_no = n()) %>% arrange(-champion_no) %>% |
winning_team | champion_no |
Brazil | 5 |
Italy | 4 |
Germany | 4 |
Argentina | 3 |
France | 2 |
Uruguay | 1 |
England | 1 |
Spain | 1 |
- 우르과이 우승횟수는 2회이나 1950년 브라질 월드컵 경기 방식으로 1회로 산출됨
- 상기 코드로는 Stage가 Final이고 Final의 Winning team 데이터를 생성하여, 국가별 횟수를 산출하는 방식
- 1950년 데이터의 Stage에는 Final이 없음
Data Cleansing 및 R (Rstudio) 특장점
- 데이터 클렌징(Data Cleansing)은 데이터 분석 및 처리를 위해 수집된 데이터에서 오류, 결측치, 중복 등의 문제를 식별하고 정정하는 과정
- 오류가 있는 데이터로 분석을 수행하면 결과가 왜곡될 수 있고, 잘못된 정보로 인해 부정확한 결론을 얻을 수 있어,
이로 인해 잘못된 의사결정이 이루어질 수 있음 - 이러한 이유로 데이터 클렌징은 데이터의 품질을 향상시키고 신뢰성 있는 결과를 얻기 위한 중요한 과정
- 데이터 분석 전 과정에서 가장 많은 시간이 소요됨
- 상기 월드컵 데이터 세트처럼, 초기에 데이터 오류 또는 이상 데이터가 발견되지 않고 데이터 분석 중에 발견되는 경우도 많음 (데이터 양이 많은 경우는 일이 검증할 수 없음, 시스템 오류 또는 담당자 입력 오류로 발생하였으나, 인지 못 할 수 있음)
- 결측치, 이상치 등 R 기술통계 과정에서 자동으로 발견할 수 있으나, 발생 사유에 따라 결측치와 이상치를 처리하는 과정에 사람의 개입이 필요하며, 식별하는 과정에서 업무 담당자가 참여하여 판단해야 하는 경우도 있음
- 데이터 클렌징은 분석 과정에서 반복적으로 수행되어야 할 수 있으며, 이러한 이유로 엑셀보다 R을 활용하는 것이 분석 시간을 줄이고, 효율적으로 분석할 수 있음
- 동일 코드 재활용하여 신규(수정된) 데이터를 불러와서 분석 과정을 그대로 수행 용이
- 기존 코드를 Fiter 조건 변경 등 간단하게 수정하여 빠르게 대응 용이
- 분석 진행과정이 Code로 기록되어 있음에 따라, 역추적하여 수정해야 하는 부분부터 재수행 편리
728x90
'스포츠_스포츠_Sports' 카테고리의 다른 글
Rstudio 데이터 분석 with FIFA 월드컵 데이터 #5 (대한민국) (0) | 2023.08.12 |
---|---|
Rstudio 데이터 분석 with FIFA 월드컵 데이터 #4 (시각화) (0) | 2023.08.11 |
Rstudio 데이터 분석 with FIFA 월드컵 데이터 #2 (0) | 2023.08.09 |
Rstudio with FIFA 월드컵 데이터 (2022년 카타르 추가) (0) | 2023.08.07 |
Rstudio 데이터 분석 with FIFA 월드컵 데이터 #1 (1) | 2023.08.06 |