본문 바로가기
  • "You can't manage what you can't measure" Peter Drucker
데이터 분석 (with Rstudio)

Rstudio 데이터 분석 with FIFA 월드컵 데이터 #3

by Vitaminymc 2023. 8. 10.
반응형

대회별 우승팀

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

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/%EA%B2%B0%EC%84%A0%20%EB%A6%AC%EA%B7%B8

국가별 우승횟수

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
 

Rstudio 데이터 분석 with FIFA 월드컵 데이터 #2

국가별 본선 참가횟수 wcmatches.csv 또는 wcmatches_2020.csv (2022년 카타르 월드컵 추가) 데이터 세트는 월드컵 본선 결과를 Home team과 Away tema으로 구분되어 결과가 정리됨 같은(단일) 국가가 같은 월드

logistician.tistory.com

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