1 한국 R 컨퍼런스 발표자

한국 R 컨퍼런스 발표자를 직사각형 데이터로 만들어서 프로필 사진을 담을 수 있는 표를 제작해보자. gt 팩키지를 사용해서 간단하게 정적 표를 제작한다. 표에 국기를 담기 위해 FAMFAMFAM - Flag Icons를 다운로드 받아 ISO2 국가 코드에 맞춰 국기가 표시되도록 준비한다.

library(tidyverse)
library(readxl)
library(gt)

speakers <- read_excel("data/rconf/발표자_대쉬보드.xlsx") 

speakers %>% 
  gt()
구분 발표자명 소속 발표제목 국가 파일명
1 실시간/녹화 이광춘 R사용자회 결국 문서는 커뮤니케이션이다 한국 kwangchun_lee.jpg
2 실시간/녹화 어수행 Stealth AI StartUp 수요예측? Forecasting? 우리는 답을 찾을 것이다. 한국 soohaeng_eo.jpeg
3 실시간/녹화 최재성 성균관대 사회과학 연구자의 R 동행기 한국 jaesung_choi.jpg
4 실시간/녹화 박상훈 University of South Carolina 재현가능한 연구를 위한 노력: R과 정치학의 만남 미국 sanghoon_park.jpg
5 실시간/녹화 이민호/김상현 데이터라이즈 프로덕션 수준의 리포트 자동화 시스템 만들기 한국 datarize.gif
6 실시간/녹화 이준혁 Seegene Infinite Shiny World 한국 joonhyuk_lee.jpg
7 실시간/녹화 문건웅 가톨릭의대 Reproducible Research with Table 한국 keonwoong_moon.jpg
8 실시간/녹화 이혜선 Postech 데이터사이언스와 오픈소스 한국 hyeseon_lee.jpg
9 실시간/녹화 이남신 오피지지 실제 기업 서비스에서 R 활용하기 한국 namshin_lee.jpeg

2 국기 표현 1

한국 R 컨퍼런스 발표자중 일부 발표자는 한국이 아니라 외국에서 발표를 해주시기로 했다. 이를 국기를 통해 2020년 도쿄 올림픽 기념으로 표에 담아보자.

speakers %>%
  mutate(iso2 = ifelse(국가 == "한국", "kr", "us")) %>% 
  mutate(flag_URL = glue::glue('data/rconf/worldflags/{iso2}.png')) %>% 
  select(순, flag_URL, 발표자명, 소속)  %>% 
  gt() %>% 
  gt::text_transform(
    # Apply a function to a column
    locations = cells_body(vars(flag_URL)),
    fn = function(x) {
      # Return an image of set dimensions
      web_image(
        url = x,
        height = 12
      )
    }
  ) %>% 
  # Hide column header flag_URL and reduce width
  cols_width(vars(flag_URL) ~ px(50)) %>% 
  cols_label(flag_URL = "")
발표자명 소속
1 이광춘 R사용자회
2 어수행 Stealth AI StartUp
3 최재성 성균관대
4 박상훈 University of South Carolina
5 이민호/김상현 데이터라이즈
6 이준혁 Seegene
7 문건웅 가톨릭의대
8 이혜선 Postech
9 이남신 오피지지

3 프로필 사진

프로필 사진을 표에 담아보자. 앞에서 국기를 표에 담은 것과 동일한 방식으로 표현한다. 로컬 파일에 있는 발표자 사진을 gt 팩키지 web_image() 함수를 사용해서 처리한다.

speakers %>% 
  mutate(figure = glue::glue('data/rconf/{파일명}')) %>% 
  select(발표자명, 소속, figure) %>% 
  gt() %>% 
    text_transform(
      locations = cells_body(vars(figure)),
      fn = function(x) {
        web_image(
          url = x,
          height = 50
        )
      }
    )
발표자명 소속 figure
이광춘 R사용자회
어수행 Stealth AI StartUp
최재성 성균관대
박상훈 University of South Carolina
이민호/김상현 데이터라이즈
이준혁 Seegene
문건웅 가톨릭의대
이혜선 Postech
이남신 오피지지

4 국기 + 프로필 사진

프로필 사진을 표에 담아보자. 앞에서 국기를 표에 담은 것과 동일한 방식으로 표현한다. 로컬 파일에 있는 발표자 사진을 gt 팩키지 web_image() 함수를 사용해서 처리한다.

speakers_tbl <- speakers %>%
  ## ISO2 국기 -----------------------------------------
  mutate(iso2 = ifelse(국가 == "한국", "kr", "us")) %>% 
  mutate(flag_URL = glue::glue('data/rconf/worldflags/{iso2}.png')) %>% 
  ## 발표자 사진  -----------------------------------------
  mutate(figure = glue::glue('data/rconf/{파일명}')) %>% 
  ## 표에 표시할 칼럼  -----------------------------------------
  select(순, flag_URL, figure, 발표자명, 소속, 발표제목)  %>% 
  ## ISO2 국기 표에 삽입 -----------------------------------------
  gt() %>% 
    gt::text_transform(
      # Apply a function to a column
      locations = cells_body(columns = c(flag_URL)),
      fn = function(x) {
        # Return an image of set dimensions
        web_image(
          url = x,
          height = 12
        )
      }
    ) %>% 
    # Hide column header flag_URL and reduce width
    cols_width(columns = c(flag_URL) ~ px(50)) %>% 
    cols_label(flag_URL = "") %>% 
  ## 발표자 사진 표에 삽입 -----------------------------------------
    text_transform(
      locations = cells_body(columns = c(figure)),
      fn = function(x) {
        web_image(
          url = x,
          height = 50
        )
      }
    ) %>% 
    cols_width(columns = c(figure) ~ px(50)) %>% 
    cols_label(figure = "")

speakers_tbl  
발표자명 소속 발표제목
1 이광춘 R사용자회 결국 문서는 커뮤니케이션이다
2 어수행 Stealth AI StartUp 수요예측? Forecasting? 우리는 답을 찾을 것이다.
3 최재성 성균관대 사회과학 연구자의 R 동행기
4 박상훈 University of South Carolina 재현가능한 연구를 위한 노력: R과 정치학의 만남
5 이민호/김상현 데이터라이즈 프로덕션 수준의 리포트 자동화 시스템 만들기
6 이준혁 Seegene Infinite Shiny World
7 문건웅 가톨릭의대 Reproducible Research with Table
8 이혜선 Postech 데이터사이언스와 오픈소스
9 이남신 오피지지 실제 기업 서비스에서 R 활용하기

5 표 외양

마지막으로 표를 보기 좋게 외양을 가꿔보자.

speakers_tbl %>% 
  tab_header(
    title = md("**&#x2600; 한국 R 컨퍼런스 발표자 &#x2600;**"),
    subtitle = md("*NLP, 웹앱, 예측, 재현가능 과학, 산업현장, 사회과학 ...*")
  ) %>% 
  tab_source_note(
    source_note = md("한국 R 컨퍼런스: <https://use-r.kr/>")
  ) %>% 
  tab_options(
    heading.background.color = "#e8fc03",
    heading.title.font.size = "32px",
    column_labels.background.color = "#a5fc03",
    column_labels.font.weight = "bold",
    stub.background.color = "#bcbddc",
    stub.font.weight = "bold"
  ) %>% 
  cols_align(
    align = "center",
    columns = everything()
  )  
☀ 한국 R 컨퍼런스 발표자 ☀
NLP, 웹앱, 예측, 재현가능 과학, 산업현장, 사회과학 ...
발표자명 소속 발표제목
1 이광춘 R사용자회 결국 문서는 커뮤니케이션이다
2 어수행 Stealth AI StartUp 수요예측? Forecasting? 우리는 답을 찾을 것이다.
3 최재성 성균관대 사회과학 연구자의 R 동행기
4 박상훈 University of South Carolina 재현가능한 연구를 위한 노력: R과 정치학의 만남
5 이민호/김상현 데이터라이즈 프로덕션 수준의 리포트 자동화 시스템 만들기
6 이준혁 Seegene Infinite Shiny World
7 문건웅 가톨릭의대 Reproducible Research with Table
8 이혜선 Postech 데이터사이언스와 오픈소스
9 이남신 오피지지 실제 기업 서비스에서 R 활용하기
한국 R 컨퍼런스: https://use-r.kr/
 

데이터 과학자 이광춘 저작

kwangchun.lee.7@gmail.com