4  통계표 출판

4.1 소개

통계표를 출력하기 위해 대표적으로 2가지 패키지가 존재한다.

  1. Quarto
  • 여러가지 방법으로 생산된 문서를 다양한 형식(html, pdf, docx, \(\cdots\))으로 출판할 수 있도록 하는 저작도구.

  • 마크다운 언어와 프로그래밍 언어를 같이 사용할 수 있는 기능.

  • 지금 강의노트제작도 Quarto로 제작했다.

  1. flextable
  • 데이터프레임을 표(table)로 변환하여 다양한 형식(html, pdf, docx,\(\cdots\))으로 출판할 수 패키지.

  • 표에 대한 다양한 형식과 여러가지 기능을 제공.

  • 보고서 수준의 고품질 통계표를 출력 가능.

flextable로 출력방법설명

flextable을 이용해 아래한글(HWP)까지 출력하는 방법을 소개해보고자 한다.

결과표 또는 통계표를 갖고 flextable을 이용해 출력하는 방법은 다음과 같다.

  1. 프로그램 R을 이용해 원하는 통계결과표를 작성한다.
  2. flextable을 이용해 워드(docx)로 출력한다.
  3. 워드(docx)로 출력한 표를 아래한글(HWP)로 출력한다.

방법을 알았으니 flextable을 쓰는 방법을 다음 섹션에서 확인해보자.

간단한 flextable 예시

이전 챕터 dplyr,tidyr패키지의 함수소개에서 쓰인 데이터프레임을 갖고 flextable을 보이는 함수를 소개한다.

코드
library(flextable)

df <- data.frame(
  이름 = c("홍길동", "김영희", "박찬호", "이소라", "최민식"),
  나이 = c(25, 30, 35, 40, 28),
  도시 = c("서울", "부산", "서울", "인천", "부산"),
  점수 = c(80, 90, 75, 82, 95)
)
  1. 기본 flextable 생성

데이터프레임 df를 가장 기본적인 flextable 형태로 보여준다.

코드
ft1 <- flextable(df)
ft1

이름

나이

도시

점수

홍길동

25

서울

80

김영희

30

부산

90

박찬호

35

서울

75

이소라

40

인천

82

최민식

28

부산

95

  1. 헤더(header) 스타일 및 테마 적용

테이블에서 헤더부분의 행이름부분의 스타일을 설정하는 방법은 다음과 같다.

코드
ft2 <- flextable(df)
# 헤더 부분을 굵게(bold) 설정
ft2 <- bold(ft2, part = "header")

# 헤더 배경 색 지정
ft2 <- bg(ft2, bg = "#F5F5F5", part = "header")

# 표 전체 너비를 자동으로 맞추기
ft2 <- autofit(ft2)

# 박스형 테마 적용(선 굵기가 약간 강조됨)
ft2 <- theme_box(ft2)

ft2

이름

나이

도시

점수

홍길동

25

서울

80

김영희

30

부산

90

박찬호

35

서울

75

이소라

40

인천

82

최민식

28

부산

95

  • bold(ft2, part = "header"): 헤더를 볼드체로 만듦

  • bg(ft2, bg = "#F5F5F5", part = "header"): 헤더에 배경색을 입힘

  • autofit(): 열 너비를 데이터에 맞게 자동 조정

  • theme_box(): 테이블에 살짝 박스형 테마 적용

  1. 조건부 색상 적용

점수가 80 미만인 행 강조하는 코드는 다음과 같다.

코드
ft3 <- flextable(df)

# 조건: 점수가 80 미만인 경우, 해당 행의 "점수" 셀 글씨 색을 빨간색으로
ft3 <- color(ft3, i = ~ 점수 < 80, j = "점수", color = "red")

# 조건: 점수가 80 미만인 경우, 해당 행의 배경을 옅은 분홍색으로
ft3 <- bg(ft3, i = ~ 점수 < 80, bg = "#FFF0F0")

# 조금 더 보기 좋게 자동 너비 조정
ft3 <- autofit(ft3)

ft3

이름

나이

도시

점수

홍길동

25

서울

80

김영희

30

부산

90

박찬호

35

서울

75

이소라

40

인천

82

최민식

28

부산

95

  • color(ft3, i = ~ 점수 < 80, j = "점수", color = "red") 조건(점수 < 80)을 만족하는 행의 점수 열을 빨간색 글씨로.

  • bg(ft3, i = ~ 점수 < 80, bg = "#FFF0F0") 동일한 조건을 만족하는 행의 전체 셀 배경을 옅은 분홍색으로.

  1. 일부 열 정렬 및 숫자 포맷 지정

일부 열에 숫자를 우측으로 정렬하고 싶거나, 표에 제목을 삽입하고 싶은 경우는 다음과 같다.

코드
ft4 <- flextable(df)

# 나이, 점수 열을 우측 정렬
ft4 <- align(ft4, j = c("나이", "점수"), align = "right", part = "body")

# 표의 제목 삽입
ft4 <- add_header_row(
  ft4,
  values = c("성적표 예시"),
  colwidths = 4
)

# 표 너비 자동 설정
ft4 <- autofit(ft4)

ft4

성적표 예시

이름

나이

도시

점수

홍길동

25

서울

80

김영희

30

부산

90

박찬호

35

서울

75

이소라

40

인천

82

최민식

28

부산

95

  • align(..., align = "right"): 숫자 열을 우측 정렬

  • add_header_row(): 전체 표 위에 큰 헤더(타이틀) 한 줄 추가

  • colwidths = 4는 한 줄을 4개의 컬럼(columns) 폭만큼 병합해서 하나로 만든다는 의미

4.2 통계표의 출력

이전 챕터에서 쓴초등학교 체력측정 자료의 통계표를 활용해보자.

3가지 스타일의 통계표를 보인 결과를 flextable로 출력해보자.

코드
load(here::here("data", "physical100_data.RData"))
ls()
[1] "df"        "df1_youth" "ft1"       "ft2"       "ft3"       "ft4"      
코드
tab1 <- summ_function_general(df1_youth, c("TEST_SEX", "TEST_AGE"), c("TEST_YEAR"), c("ITEM_F001", "ITEM_F002"), stat_fun = my_summ_func_2)

tab2 <- summ_function_general(df1_youth, c("TEST_AGE"), c("TEST_YEAR", "TEST_SEX"), c("ITEM_F001", "ITEM_F002"), stat_fun = my_summ_func_2)

tab3 <- summ_function_general(df1_youth, c("TEST_SEX", "TEST_AGE"), c("TEST_YEAR"), c("ITEM_F001", "ITEM_F002"), stat_fun = my_summ_func_2, stat_to_column = TRUE)

예제

tab1의 통계표를 다음과 같이 적용한다.

  1. tab1_cols <- colnames(tab1)

tab1의 모든 열 이름을 추출해 tab1_cols에 저장한다.

이 값은 곧 flextable(col_keys = tab1_cols)에서 사용된다.

  1. tab1 %>% dplyr::group_by(ITEM, TEST_SEX, TEST_AGE)

tab1ITEM, TEST_SEX, TEST_AGE 조합으로 그룹화한다.

이후 mutate() 등에서 그룹 내 계산을 수행할 수 있다.

  1. dplyr::mutate(is_last_val_in_group = row_number() == max(row_number()))

각 그룹별(ITEM, TEST_SEX, TEST_AGE)로 행 번호(row_number())를 매기고, 그 번호가 그룹 내 최대값이면 TRUE를, 아니면 FALSEis_last_val_in_group 컬럼에 저장한다.

  1. flextable(col_keys = tab1_cols )

flextable 패키지로 tab1를 테이블 형태로 변환한다.

col_keys = tab1_cols로 지정해, 모든 열(이름은 tab1_cols)을 테이블에 표시한다.

  1. merge_v(j = 1:3)

j = 1:3는 테이블의 첫 번째 부터 세 번째 열에 대해 세로 병합을 적용하겠다는 의미이다.

  1. autofit()

셀 너비와 높이를 자동으로 맞추도록 설정한다.

  1. theme_booktabs(bold_header = TRUE)

flextable의 테마를 “booktabs” 스타일로 지정하고, 헤더(header)를 볼드체로 만든다.

  1. align(align = "left", part = "header", j =1:3)

테이블의 헤더 부분(part = "header") 중, 첫 3개 열(j =1:3)을 왼쪽 정렬("left")한다.

  1. colformat_double(i = ~(STAT=="개수" | STAT=="결측개수"), digits = 0, big.mark = get_flextable_defaults()$big.mark)

숫자 서식 지정 함수로써,

i = ~(STAT=="개수" | STAT=="결측개수"): 조건식으로, STAT 열이 "개수" 또는 "결측개수"인 행을 골라낸다.

해당 셀들의 표시 소수점 자릿수(digits)를 0으로 설정 → 정수로 표현.

  1. colformat_double(i = ~!(STAT=="개수" | STAT=="결측개수"), digits = 2)

바로 위와 비슷한 숫자 서식 지정이지만, 조건이 STAT가 “개수” 또는 “결측개수”가 아닌 경우(!())이다.

소수점 자릿수를 2로 설정 → 소수 둘째 자리까지 표시한다.

  1. hline(i = ~is_last_val_in_group == TRUE, border = fp_border())

가로줄(hline)을 추가한다.

i = ~is_last_val_in_group == TRUE → 각 그룹의 마지막 행에 가로줄을 그린다.

fp_border()flextable에서 제공하는 테두리(border) 설정 함수로, 기본 스타일의 선을 만든다.

  1. fix_border_issues()

테이블 테두리 관련된 미세한 문제를 자동으로 조정(수정)해 주는 함수이다.

코드
tab1_cols <- colnames(tab1)
AA <-  tab1 %>% 
    dplyr::group_by(ITEM, TEST_SEX, TEST_AGE) %>%
    dplyr::mutate(is_last_val_in_group = row_number() == max(row_number()))  %>%
    flextable(col_keys = tab1_cols ) %>% 
    merge_v( j = 1:3 )  %>%
    autofit()  %>%
    theme_booktabs(bold_header = TRUE) %>%
    align(align = "left", part = "header", j =1:3) %>% 
    colformat_double(i = ~(`STAT`=="개수" | `STAT`=="결측개수" ) , digits = 0,
                      big.mark =     get_flextable_defaults()$big.mark) %>%
    colformat_double(i = ~!(`STAT`=="개수" | `STAT`=="결측개수" ), digits = 2) %>%
    hline(i = ~is_last_val_in_group == TRUE, border = fp_border()) %>%
    fix_border_issues() 

AA

ITEM

TEST_SEX

TEST_AGE

STAT

2017

2018

2019

2020

2021

2022

2023

ITEM_F001

남성

13

개수

16

20

26

1

2

3

11

평균

162.35

164.72

164.89

182.80

159.40

165.27

165.61

표준편차

7.45

6.90

8.64

6.22

2.66

9.18

14

개수

16

17

32

3

2

7

18

평균

165.46

168.51

167.60

169.43

170.60

171.71

168.39

표준편차

5.40

5.32

6.57

4.31

11.46

11.32

7.09

15

개수

16

22

24

3

2

15

17

평균

269.78

170.98

173.60

170.90

169.70

173.38

174.19

표준편차

397.69

6.55

5.36

4.62

6.65

4.95

7.11

16

개수

15

32

23

4

7

16

11

평균

173.20

173.03

173.54

170.82

175.34

174.03

171.58

표준편차

7.16

4.48

6.49

6.44

2.87

5.89

5.57

17

개수

11

26

30

5

10

11

17

평균

175.00

173.45

173.57

174.26

173.14

174.98

174.35

표준편차

4.85

4.89

6.27

4.50

6.76

3.14

8.41

18

개수

11

14

5

4

6

14

15

평균

174.53

174.63

171.58

169.32

176.53

176.56

171.25

표준편차

5.83

5.84

3.83

3.72

2.45

5.85

6.46

여성

13

개수

17

11

16

2

5

10

13

평균

157.29

156.29

156.49

158.90

157.36

160.37

159.55

표준편차

7.66

5.83

3.42

4.95

1.91

4.90

8.70

14

개수

13

16

15

2

4

8

8

평균

159.90

159.35

161.04

155.60

158.32

161.88

158.96

표준편차

7.36

4.67

4.53

7.78

5.31

4.99

6.86

15

개수

18

13

22

2

1

8

18

평균

162.32

162.40

160.62

159.95

162.00

160.70

160.38

표준편차

5.82

6.86

5.11

3.18

3.71

3.87

16

개수

14

24

21

2

3

7

19

평균

159.31

160.92

159.68

158.65

165.07

159.14

161.44

표준편차

5.44

5.05

5.96

0.49

0.85

7.63

4.34

17

개수

15

19

17

3

6

8

14

평균

160.96

161.98

159.35

161.00

158.73

162.44

162.39

표준편차

4.04

3.48

6.20

1.56

3.75

4.96

5.06

18

개수

6

7

5

2

3

11

12

평균

161.15

160.47

163.08

164.50

156.20

162.87

160.39

표준편차

6.34

6.27

4.93

5.66

3.59

7.07

8.40

ITEM_F002

남성

13

개수

16

20

26

1

2

3

11

평균

56.94

64.27

63.73

97.50

72.85

60.93

64.42

표준편차

15.88

15.55

16.57

36.42

9.15

20.19

14

개수

16

17

32

3

2

7

18

평균

59.13

63.08

62.97

63.07

91.00

72.96

63.51

표준편차

11.66

14.85

13.39

8.28

21.92

26.35

21.32

15

개수

16

22

24

3

2

15

17

평균

104.26

66.11

68.09

72.57

69.20

74.46

63.67

표준편차

173.49

15.83

14.05

8.39

0.14

17.23

12.50

16

개수

15

32

23

4

7

16

11

평균

66.79

73.22

65.82

60.88

76.31

66.17

67.37

표준편차

9.55

13.52

9.86

4.68

9.47

9.44

9.25

17

개수

11

26

30

5

10

11

17

평균

77.21

67.40

71.21

71.56

86.48

70.89

72.19

표준편차

9.33

12.21

21.51

10.26

25.39

13.50

11.80

18

개수

11

14

5

4

6

14

15

평균

67.74

73.69

76.06

76.50

80.53

81.91

71.98

표준편차

14.41

16.88

22.13

8.87

18.40

14.45

15.80

여성

13

개수

17

11

16

2

5

10

13

평균

52.74

51.03

49.35

53.00

50.38

59.63

55.64

표준편차

13.06

12.55

7.32

4.24

6.38

15.17

15.08

14

개수

13

16

15

2

4

8

8

평균

53.64

52.64

58.50

62.65

58.05

57.45

55.66

표준편차

16.59

5.89

14.16

2.05

8.89

11.01

15.38

15

개수

18

13

22

2

1

8

18

평균

58.88

61.78

56.90

61.40

50.40

57.39

55.48

표준편차

11.45

11.75

7.04

19.66

12.22

8.66

16

개수

14

24

21

2

3

7

19

평균

56.21

57.67

58.65

56.75

62.13

55.57

54.39

표준편차

8.17

7.25

12.11

5.16

11.64

9.22

6.12

17

개수

15

19

17

3

6

8

14

평균

62.97

55.25

61.22

56.70

55.25

61.36

57.06

표준편차

13.19

13.89

16.33

13.35

4.40

14.41

15.33

18

개수

6

7

5

2

3

11

12

평균

61.92

58.01

63.88

54.30

55.53

56.31

51.76

표준편차

16.52

9.31

10.74

4.38

6.50

8.56

7.47

이러한 형태로 다음 통계표도 비슷하게 결과를 낼 수 있다.

하지만 매번 통계표를 구할 때 복잡한 코드를 입력하기 어려우니 이 경우에도 함수를 만들어서 간편하게 돌려보자.

코드
tab2_cols <- colnames(tab2)
BB <-  tab2 %>% 
    dplyr::group_by(ITEM, TEST_AGE) %>%
    dplyr::mutate(is_last_val_in_group = row_number() == max(row_number()))  %>%
    flextable(col_keys = tab2_cols ) %>% 
    merge_v( j = 1:2 )  %>%
    valign(j = 1:2, valign = "top") %>%
    separate_header() %>% 
    autofit()  %>%
    theme_booktabs(bold_header = TRUE) %>%
    align(align = "left", part = "header", j =1:3) %>% 
    colformat_double(i = ~(`STAT`=="개수" | `STAT`=="결측개수" ) , digits = 0,
                      big.mark =     get_flextable_defaults()$big.mark) %>%
    colformat_double(i = ~!(`STAT`=="개수" | `STAT`=="결측개수" ), digits = 2) %>%
    hline(i = ~is_last_val_in_group == TRUE, border = fp_border()) %>%
    fix_border_issues() 

BB

ITEM

TEST

STAT

2017

2018

2019

2020

2021

2022

2023

AGE

남성

여성

남성

여성

남성

여성

남성

여성

남성

여성

남성

여성

남성

여성

ITEM_F001

13

개수

16

17

20

11

26

16

1

2

2

5

3

10

11

13

평균

162.35

157.29

164.72

156.29

164.89

156.49

182.80

158.90

159.40

157.36

165.27

160.37

165.61

159.55

표준편차

7.45

7.66

6.90

5.83

8.64

3.42

4.95

6.22

1.91

2.66

4.90

9.18

8.70

14

개수

16

13

17

16

32

15

3

2

2

4

7

8

18

8

평균

165.46

159.90

168.51

159.35

167.60

161.04

169.43

155.60

170.60

158.32

171.71

161.88

168.39

158.96

표준편차

5.40

7.36

5.32

4.67

6.57

4.53

4.31

7.78

11.46

5.31

11.32

4.99

7.09

6.86

15

개수

16

18

22

13

24

22

3

2

2

1

15

8

17

18

평균

269.78

162.32

170.98

162.40

173.60

160.62

170.90

159.95

169.70

162.00

173.38

160.70

174.19

160.38

표준편차

397.69

5.82

6.55

6.86

5.36

5.11

4.62

3.18

6.65

4.95

3.71

7.11

3.87

16

개수

15

14

32

24

23

21

4

2

7

3

16

7

11

19

평균

173.20

159.31

173.03

160.92

173.54

159.68

170.82

158.65

175.34

165.07

174.03

159.14

171.58

161.44

표준편차

7.16

5.44

4.48

5.05

6.49

5.96

6.44

0.49

2.87

0.85

5.89

7.63

5.57

4.34

17

개수

11

15

26

19

30

17

5

3

10

6

11

8

17

14

평균

175.00

160.96

173.45

161.98

173.57

159.35

174.26

161.00

173.14

158.73

174.98

162.44

174.35

162.39

표준편차

4.85

4.04

4.89

3.48

6.27

6.20

4.50

1.56

6.76

3.75

3.14

4.96

8.41

5.06

18

개수

11

6

14

7

5

5

4

2

6

3

14

11

15

12

평균

174.53

161.15

174.63

160.47

171.58

163.08

169.32

164.50

176.53

156.20

176.56

162.87

171.25

160.39

표준편차

5.83

6.34

5.84

6.27

3.83

4.93

3.72

5.66

2.45

3.59

5.85

7.07

6.46

8.40

ITEM_F002

13

개수

16

17

20

11

26

16

1

2

2

5

3

10

11

13

평균

56.94

52.74

64.27

51.03

63.73

49.35

97.50

53.00

72.85

50.38

60.93

59.63

64.42

55.64

표준편차

15.88

13.06

15.55

12.55

16.57

7.32

4.24

36.42

6.38

9.15

15.17

20.19

15.08

14

개수

16

13

17

16

32

15

3

2

2

4

7

8

18

8

평균

59.13

53.64

63.08

52.64

62.97

58.50

63.07

62.65

91.00

58.05

72.96

57.45

63.51

55.66

표준편차

11.66

16.59

14.85

5.89

13.39

14.16

8.28

2.05

21.92

8.89

26.35

11.01

21.32

15.38

15

개수

16

18

22

13

24

22

3

2

2

1

15

8

17

18

평균

104.26

58.88

66.11

61.78

68.09

56.90

72.57

61.40

69.20

50.40

74.46

57.39

63.67

55.48

표준편차

173.49

11.45

15.83

11.75

14.05

7.04

8.39

19.66

0.14

17.23

12.22

12.50

8.66

16

개수

15

14

32

24

23

21

4

2

7

3

16

7

11

19

평균

66.79

56.21

73.22

57.67

65.82

58.65

60.88

56.75

76.31

62.13

66.17

55.57

67.37

54.39

표준편차

9.55

8.17

13.52

7.25

9.86

12.11

4.68

5.16

9.47

11.64

9.44

9.22

9.25

6.12

17

개수

11

15

26

19

30

17

5

3

10

6

11

8

17

14

평균

77.21

62.97

67.40

55.25

71.21

61.22

71.56

56.70

86.48

55.25

70.89

61.36

72.19

57.06

표준편차

9.33

13.19

12.21

13.89

21.51

16.33

10.26

13.35

25.39

4.40

13.50

14.41

11.80

15.33

18

개수

11

6

14

7

5

5

4

2

6

3

14

11

15

12

평균

67.74

61.92

73.69

58.01

76.06

63.88

76.50

54.30

80.53

55.53

81.91

56.31

71.98

51.76

표준편차

14.41

16.52

16.88

9.31

22.13

10.74

8.87

4.38

18.40

6.50

14.45

8.56

15.80

7.47

코드
tab3_cols <- colnames(tab3)
CC <-  tab3 %>% 
    dplyr::group_by(ITEM, TEST_SEX) %>%
    dplyr::mutate(is_last_val_in_group = row_number() == max(row_number()))  %>%
    flextable(col_keys = tab3_cols ) %>% 
    merge_v( j = 1:2 )  %>%
    valign(j = 1:2, valign = "top") %>%
    separate_header() %>% 
    autofit()  %>%
    theme_booktabs(bold_header = TRUE) %>%
    align(align = "left", part = "header", j =1:3) %>% 
    #colformat_double(i = ~(`STAT`=="개수" | `STAT`=="결측개수" ) , digits = 0,
    #                  big.mark =     get_flextable_defaults()$big.mark) %>%
    #colformat_double(i = ~!(`STAT`=="개수" | `STAT`=="결측개수" ), digits = 2) %>%
    hline(i = ~is_last_val_in_group == TRUE, border = fp_border()) %>%
    fix_border_issues() 

CC

ITEM

TEST

2017

2018

2019

2020

2021

2022

2023

SEX

AGE

개수

평균

표준편차

개수

평균

표준편차

개수

평균

표준편차

개수

평균

표준편차

개수

평균

표준편차

개수

평균

표준편차

개수

평균

표준편차

ITEM_F001

남성

13

16

162.35000

7.448937

20

164.71500

6.895328

26

164.89231

8.639024

1

182.80000

2

159.40000

6.2225397

3

165.26667

2.663331

11

165.60909

9.177304

14

16

165.45625

5.399873

17

168.50588

5.318067

32

167.60313

6.567539

3

169.43333

4.3096790

2

170.60000

11.4551299

7

171.71429

11.317159

18

168.38889

7.085602

15

16

269.78125

397.692213

22

170.97727

6.552058

24

173.60000

5.362592

3

170.90000

4.6227697

2

169.70000

6.6468037

15

173.38000

4.947900

17

174.18824

7.105005

16

15

173.20000

7.156915

32

173.03125

4.476421

23

173.53913

6.486751

4

170.82500

6.4391381

7

175.34286

2.8692956

16

174.03125

5.888488

11

171.58182

5.568989

17

11

175.00000

4.850979

26

173.45000

4.888374

30

173.57333

6.267262

5

174.26000

4.4964430

10

173.14000

6.7641539

11

174.98182

3.136819

17

174.35294

8.408412

18

11

174.52727

5.833197

14

174.62857

5.844054

5

171.58000

3.834319

4

169.32500

3.7187588

6

176.53333

2.4459490

14

176.55714

5.852772

15

171.24667

6.460856

여성

13

17

157.28824

7.663214

11

156.29091

5.826054

16

156.49375

3.423150

2

158.90000

4.9497475

5

157.36000

1.9060430

10

160.37000

4.903298

13

159.55385

8.704751

14

13

159.90000

7.355723

16

159.35000

4.665047

15

161.04000

4.529869

2

155.60000

7.7781746

4

158.32500

5.3080913

8

161.87500

4.987341

8

158.96250

6.857100

15

18

162.31667

5.818353

13

162.40000

6.858450

22

160.62273

5.114678

2

159.95000

3.1819805

1

162.00000

8

160.70000

3.706751

18

160.38333

3.873021

16

14

159.31429

5.439154

24

160.92083

5.050095

21

159.68095

5.956309

2

158.65000

0.4949747

3

165.06667

0.8504901

7

159.14286

7.628424

19

161.43684

4.344883

17

15

160.96000

4.036760

19

161.98421

3.481102

17

159.34706

6.197491

3

161.00000

1.5620499

6

158.73333

3.7494889

8

162.43750

4.955210

14

162.38571

5.063574

18

6

161.15000

6.338060

7

160.47143

6.273945

5

163.08000

4.930213

2

164.50000

5.6568542

3

156.20000

3.5930488

11

162.87273

7.072778

12

160.39167

8.397668

ITEM_F002

남성

13

16

56.94375

15.884289

20

64.26500

15.545562

26

63.73077

16.570716

1

97.50000

2

72.85000

36.4159992

3

60.93333

9.154416

11

64.41818

20.188453

14

16

59.13125

11.659086

17

63.07647

14.848086

32

62.96875

13.394256

3

63.06667

8.2778822

2

91.00000

21.9203102

7

72.95714

26.349058

18

63.50556

21.315873

15

16

104.26250

173.489050

22

66.11364

15.825425

24

68.09167

14.052446

3

72.56667

8.3930527

2

69.20000

0.1414214

15

74.46000

17.230695

17

63.67059

12.500138

16

15

66.78667

9.549336

32

73.22187

13.522806

23

65.82174

9.863153

4

60.87500

4.6800107

7

76.31429

9.4735471

16

66.16875

9.440602

11

67.37273

9.252361

17

11

77.20909

9.333215

26

67.40000

12.206883

30

71.20667

21.510125

5

71.56000

10.2600195

10

86.48000

25.3946101

11

70.89091

13.501293

17

72.18824

11.797186

18

11

67.73636

14.405573

14

73.68571

16.877015

5

76.06000

22.125845

4

76.50000

8.8690473

6

80.53333

18.3988768

14

81.91429

14.448788

15

71.98000

15.796347

여성

13

17

52.73529

13.056413

11

51.02727

12.546481

16

49.35000

7.319381

2

53.00000

4.2426407

5

50.38000

6.3762842

10

59.63000

15.168831

13

55.63846

15.079597

14

13

53.63846

16.585965

16

52.63750

5.889298

15

58.50000

14.159600

2

62.65000

2.0506097

4

58.05000

8.8925062

8

57.45000

11.006751

8

55.66250

15.383752

15

18

58.88333

11.447849

13

61.77692

11.747919

22

56.90000

7.043065

2

61.40000

19.6575685

1

50.40000

8

57.38750

12.218538

18

55.47778

8.658933

16

14

56.20714

8.167804

24

57.67500

7.253979

21

58.65238

12.105933

2

56.75000

5.1618795

3

62.13333

11.6423079

7

55.57143

9.224734

19

54.39474

6.117504

17

15

62.96667

13.193487

19

55.25263

13.886499

17

61.22353

16.329671

3

56.70000

13.3461605

6

55.25000

4.4021586

8

61.36250

14.413975

14

57.06429

15.334908

18

6

61.91667

16.521794

7

58.01429

9.313866

5

63.88000

10.742998

2

54.30000

4.3840620

3

55.53333

6.5041013

11

56.30909

8.559843

12

51.76000

7.470178

함수만들기 (함수보완수정추후 예정)

flextabledplyr,tidyr와 마찬가지로 여러가지 세부조정을 할수 있기에 코드가 많이 복잡할 수 있다.

또한, 통계표를 1개만 출력하는 것이 아니기에 여러가지 통계표를 출력하는 데 비효율적이므로 함수를 만들어서 간편하게 통계표를 출력해보자.

table_function_general은 예제에 나온 코드와의 차이점은

  • “이 데이터프레임의 상위 몇 개 열을 ’행 그룹’으로 지정할 것인지”를 num_group_rows로 조절한다.

  • 직접함수를 만들 때 필요한 것으로 입력한 인자를 잘 인식시키기 위해 !!!syms를 적용했다.

코드
table_function_general <- function(df, num_group_rows) {
  
    table_cols <- colnames(df)
    col1 <- syms(table_cols[1:num_group_rows])

ft1 <-  df %>% 

    dplyr::group_by(!!!col1) %>%
    dplyr::mutate(is_last_val_in_group = row_number() == max(row_number()))  %>%
    flextable(col_keys = table_cols ) %>% 
    merge_v( j = 1:num_group_rows )  %>%
    valign(j = 1:(num_group_rows), valign = "top") %>%
    separate_header() %>%
    autofit()  %>%
    theme_booktabs(bold_header = TRUE) %>%
    align(align = "left", part = "header", j =1:num_group_rows) %>% 
    #colformat_double(i = ~(`STAT`=="개수" | `STAT`=="결측개수" ) , digits = 0,
    #                  big.mark =     get_flextable_defaults()$big.mark) %>%
    #colformat_double(i = ~!(`STAT`=="개수" | `STAT`=="결측개수" ), digits = 2) %>%
    hline(i = ~is_last_val_in_group == TRUE, border = fp_border()) %>%
    fix_border_issues() 

    return(ft1)
}

직접 만든 함수를 사용하여 다음과 같이 통계표를 쉽게 구할 수 있다.

코드
mytable1 <- table_function_general(tab1, 3)
mytable1 

ITEM

TEST

STAT

2017

2018

2019

2020

2021

2022

2023

SEX

AGE

ITEM_F001

남성

13

개수

16.000000

20.000000

26.000000

1.0000000

2.0000000

3.000000

11.000000

평균

162.350000

164.715000

164.892308

182.8000000

159.4000000

165.266667

165.609091

표준편차

7.448937

6.895328

8.639024

6.2225397

2.663331

9.177304

14

개수

16.000000

17.000000

32.000000

3.0000000

2.0000000

7.000000

18.000000

평균

165.456250

168.505882

167.603125

169.4333333

170.6000000

171.714286

168.388889

표준편차

5.399873

5.318067

6.567539

4.3096790

11.4551299

11.317159

7.085602

15

개수

16.000000

22.000000

24.000000

3.0000000

2.0000000

15.000000

17.000000

평균

269.781250

170.977273

173.600000

170.9000000

169.7000000

173.380000

174.188235

표준편차

397.692213

6.552058

5.362592

4.6227697

6.6468037

4.947900

7.105005

16

개수

15.000000

32.000000

23.000000

4.0000000

7.0000000

16.000000

11.000000

평균

173.200000

173.031250

173.539130

170.8250000

175.3428571

174.031250

171.581818

표준편차

7.156915

4.476421

6.486751

6.4391381

2.8692956

5.888488

5.568989

17

개수

11.000000

26.000000

30.000000

5.0000000

10.0000000

11.000000

17.000000

평균

175.000000

173.450000

173.573333

174.2600000

173.1400000

174.981818

174.352941

표준편차

4.850979

4.888374

6.267262

4.4964430

6.7641539

3.136819

8.408412

18

개수

11.000000

14.000000

5.000000

4.0000000

6.0000000

14.000000

15.000000

평균

174.527273

174.628571

171.580000

169.3250000

176.5333333

176.557143

171.246667

표준편차

5.833197

5.844054

3.834319

3.7187588

2.4459490

5.852772

6.460856

여성

13

개수

17.000000

11.000000

16.000000

2.0000000

5.0000000

10.000000

13.000000

평균

157.288235

156.290909

156.493750

158.9000000

157.3600000

160.370000

159.553846

표준편차

7.663214

5.826054

3.423150

4.9497475

1.9060430

4.903298

8.704751

14

개수

13.000000

16.000000

15.000000

2.0000000

4.0000000

8.000000

8.000000

평균

159.900000

159.350000

161.040000

155.6000000

158.3250000

161.875000

158.962500

표준편차

7.355723

4.665047

4.529869

7.7781746

5.3080913

4.987341

6.857100

15

개수

18.000000

13.000000

22.000000

2.0000000

1.0000000

8.000000

18.000000

평균

162.316667

162.400000

160.622727

159.9500000

162.0000000

160.700000

160.383333

표준편차

5.818353

6.858450

5.114678

3.1819805

3.706751

3.873021

16

개수

14.000000

24.000000

21.000000

2.0000000

3.0000000

7.000000

19.000000

평균

159.314286

160.920833

159.680952

158.6500000

165.0666667

159.142857

161.436842

표준편차

5.439154

5.050095

5.956309

0.4949747

0.8504901

7.628424

4.344883

17

개수

15.000000

19.000000

17.000000

3.0000000

6.0000000

8.000000

14.000000

평균

160.960000

161.984211

159.347059

161.0000000

158.7333333

162.437500

162.385714

표준편차

4.036760

3.481102

6.197491

1.5620499

3.7494889

4.955210

5.063574

18

개수

6.000000

7.000000

5.000000

2.0000000

3.0000000

11.000000

12.000000

평균

161.150000

160.471429

163.080000

164.5000000

156.2000000

162.872727

160.391667

표준편차

6.338060

6.273945

4.930213

5.6568542

3.5930488

7.072778

8.397668

ITEM_F002

남성

13

개수

16.000000

20.000000

26.000000

1.0000000

2.0000000

3.000000

11.000000

평균

56.943750

64.265000

63.730769

97.5000000

72.8500000

60.933333

64.418182

표준편차

15.884289

15.545562

16.570716

36.4159992

9.154416

20.188453

14

개수

16.000000

17.000000

32.000000

3.0000000

2.0000000

7.000000

18.000000

평균

59.131250

63.076471

62.968750

63.0666667

91.0000000

72.957143

63.505556

표준편차

11.659086

14.848086

13.394256

8.2778822

21.9203102

26.349058

21.315873

15

개수

16.000000

22.000000

24.000000

3.0000000

2.0000000

15.000000

17.000000

평균

104.262500

66.113636

68.091667

72.5666667

69.2000000

74.460000

63.670588

표준편차

173.489050

15.825425

14.052446

8.3930527

0.1414214

17.230695

12.500138

16

개수

15.000000

32.000000

23.000000

4.0000000

7.0000000

16.000000

11.000000

평균

66.786667

73.221875

65.821739

60.8750000

76.3142857

66.168750

67.372727

표준편차

9.549336

13.522806

9.863153

4.6800107

9.4735471

9.440602

9.252361

17

개수

11.000000

26.000000

30.000000

5.0000000

10.0000000

11.000000

17.000000

평균

77.209091

67.400000

71.206667

71.5600000

86.4800000

70.890909

72.188235

표준편차

9.333215

12.206883

21.510125

10.2600195

25.3946101

13.501293

11.797186

18

개수

11.000000

14.000000

5.000000

4.0000000

6.0000000

14.000000

15.000000

평균

67.736364

73.685714

76.060000

76.5000000

80.5333333

81.914286

71.980000

표준편차

14.405573

16.877015

22.125845

8.8690473

18.3988768

14.448788

15.796347

여성

13

개수

17.000000

11.000000

16.000000

2.0000000

5.0000000

10.000000

13.000000

평균

52.735294

51.027273

49.350000

53.0000000

50.3800000

59.630000

55.638462

표준편차

13.056413

12.546481

7.319381

4.2426407

6.3762842

15.168831

15.079597

14

개수

13.000000

16.000000

15.000000

2.0000000

4.0000000

8.000000

8.000000

평균

53.638462

52.637500

58.500000

62.6500000

58.0500000

57.450000

55.662500

표준편차

16.585965

5.889298

14.159600

2.0506097

8.8925062

11.006751

15.383752

15

개수

18.000000

13.000000

22.000000

2.0000000

1.0000000

8.000000

18.000000

평균

58.883333

61.776923

56.900000

61.4000000

50.4000000

57.387500

55.477778

표준편차

11.447849

11.747919

7.043065

19.6575685

12.218538

8.658933

16

개수

14.000000

24.000000

21.000000

2.0000000

3.0000000

7.000000

19.000000

평균

56.207143

57.675000

58.652381

56.7500000

62.1333333

55.571429

54.394737

표준편차

8.167804

7.253979

12.105933

5.1618795

11.6423079

9.224734

6.117504

17

개수

15.000000

19.000000

17.000000

3.0000000

6.0000000

8.000000

14.000000

평균

62.966667

55.252632

61.223529

56.7000000

55.2500000

61.362500

57.064286

표준편차

13.193487

13.886499

16.329671

13.3461605

4.4021586

14.413975

15.334908

18

개수

6.000000

7.000000

5.000000

2.0000000

3.0000000

11.000000

12.000000

평균

61.916667

58.014286

63.880000

54.3000000

55.5333333

56.309091

51.760000

표준편차

16.521794

9.313866

10.742998

4.3840620

6.5041013

8.559843

7.470178

코드
mytable2 <- table_function_general(tab2, 2)
mytable2 

ITEM

TEST

STAT

2017

2018

2019

2020

2021

2022

2023

AGE

남성

여성

남성

여성

남성

여성

남성

여성

남성

여성

남성

여성

남성

여성

ITEM_F001

13

개수

16.000000

17.000000

20.000000

11.000000

26.000000

16.000000

1.000000

2.0000000

2.0000000

5.0000000

3.000000

10.000000

11.000000

13.000000

평균

162.350000

157.288235

164.715000

156.290909

164.892308

156.493750

182.800000

158.9000000

159.4000000

157.3600000

165.266667

160.370000

165.609091

159.553846

표준편차

7.448937

7.663214

6.895328

5.826054

8.639024

3.423150

4.9497475

6.2225397

1.9060430

2.663331

4.903298

9.177304

8.704751

14

개수

16.000000

13.000000

17.000000

16.000000

32.000000

15.000000

3.000000

2.0000000

2.0000000

4.0000000

7.000000

8.000000

18.000000

8.000000

평균

165.456250

159.900000

168.505882

159.350000

167.603125

161.040000

169.433333

155.6000000

170.6000000

158.3250000

171.714286

161.875000

168.388889

158.962500

표준편차

5.399873

7.355723

5.318067

4.665047

6.567539

4.529869

4.309679

7.7781746

11.4551299

5.3080913

11.317159

4.987341

7.085602

6.857100

15

개수

16.000000

18.000000

22.000000

13.000000

24.000000

22.000000

3.000000

2.0000000

2.0000000

1.0000000

15.000000

8.000000

17.000000

18.000000

평균

269.781250

162.316667

170.977273

162.400000

173.600000

160.622727

170.900000

159.9500000

169.7000000

162.0000000

173.380000

160.700000

174.188235

160.383333

표준편차

397.692213

5.818353

6.552058

6.858450

5.362592

5.114678

4.622770

3.1819805

6.6468037

4.947900

3.706751

7.105005

3.873021

16

개수

15.000000

14.000000

32.000000

24.000000

23.000000

21.000000

4.000000

2.0000000

7.0000000

3.0000000

16.000000

7.000000

11.000000

19.000000

평균

173.200000

159.314286

173.031250

160.920833

173.539130

159.680952

170.825000

158.6500000

175.3428571

165.0666667

174.031250

159.142857

171.581818

161.436842

표준편차

7.156915

5.439154

4.476421

5.050095

6.486751

5.956309

6.439138

0.4949747

2.8692956

0.8504901

5.888488

7.628424

5.568989

4.344883

17

개수

11.000000

15.000000

26.000000

19.000000

30.000000

17.000000

5.000000

3.0000000

10.0000000

6.0000000

11.000000

8.000000

17.000000

14.000000

평균

175.000000

160.960000

173.450000

161.984211

173.573333

159.347059

174.260000

161.0000000

173.1400000

158.7333333

174.981818

162.437500

174.352941

162.385714

표준편차

4.850979

4.036760

4.888374

3.481102

6.267262

6.197491

4.496443

1.5620499

6.7641539

3.7494889

3.136819

4.955210

8.408412

5.063574

18

개수

11.000000

6.000000

14.000000

7.000000

5.000000

5.000000

4.000000

2.0000000

6.0000000

3.0000000

14.000000

11.000000

15.000000

12.000000

평균

174.527273

161.150000

174.628571

160.471429

171.580000

163.080000

169.325000

164.5000000

176.5333333

156.2000000

176.557143

162.872727

171.246667

160.391667

표준편차

5.833197

6.338060

5.844054

6.273945

3.834319

4.930213

3.718759

5.6568542

2.4459490

3.5930488

5.852772

7.072778

6.460856

8.397668

ITEM_F002

13

개수

16.000000

17.000000

20.000000

11.000000

26.000000

16.000000

1.000000

2.0000000

2.0000000

5.0000000

3.000000

10.000000

11.000000

13.000000

평균

56.943750

52.735294

64.265000

51.027273

63.730769

49.350000

97.500000

53.0000000

72.8500000

50.3800000

60.933333

59.630000

64.418182

55.638462

표준편차

15.884289

13.056413

15.545562

12.546481

16.570716

7.319381

4.2426407

36.4159992

6.3762842

9.154416

15.168831

20.188453

15.079597

14

개수

16.000000

13.000000

17.000000

16.000000

32.000000

15.000000

3.000000

2.0000000

2.0000000

4.0000000

7.000000

8.000000

18.000000

8.000000

평균

59.131250

53.638462

63.076471

52.637500

62.968750

58.500000

63.066667

62.6500000

91.0000000

58.0500000

72.957143

57.450000

63.505556

55.662500

표준편차

11.659086

16.585965

14.848086

5.889298

13.394256

14.159600

8.277882

2.0506097

21.9203102

8.8925062

26.349058

11.006751

21.315873

15.383752

15

개수

16.000000

18.000000

22.000000

13.000000

24.000000

22.000000

3.000000

2.0000000

2.0000000

1.0000000

15.000000

8.000000

17.000000

18.000000

평균

104.262500

58.883333

66.113636

61.776923

68.091667

56.900000

72.566667

61.4000000

69.2000000

50.4000000

74.460000

57.387500

63.670588

55.477778

표준편차

173.489050

11.447849

15.825425

11.747919

14.052446

7.043065

8.393053

19.6575685

0.1414214

17.230695

12.218538

12.500138

8.658933

16

개수

15.000000

14.000000

32.000000

24.000000

23.000000

21.000000

4.000000

2.0000000

7.0000000

3.0000000

16.000000

7.000000

11.000000

19.000000

평균

66.786667

56.207143

73.221875

57.675000

65.821739

58.652381

60.875000

56.7500000

76.3142857

62.1333333

66.168750

55.571429

67.372727

54.394737

표준편차

9.549336

8.167804

13.522806

7.253979

9.863153

12.105933

4.680011

5.1618795

9.4735471

11.6423079

9.440602

9.224734

9.252361

6.117504

17

개수

11.000000

15.000000

26.000000

19.000000

30.000000

17.000000

5.000000

3.0000000

10.0000000

6.0000000

11.000000

8.000000

17.000000

14.000000

평균

77.209091

62.966667

67.400000

55.252632

71.206667

61.223529

71.560000

56.7000000

86.4800000

55.2500000

70.890909

61.362500

72.188235

57.064286

표준편차

9.333215

13.193487

12.206883

13.886499

21.510125

16.329671

10.260019

13.3461605

25.3946101

4.4021586

13.501293

14.413975

11.797186

15.334908

18

개수

11.000000

6.000000

14.000000

7.000000

5.000000

5.000000

4.000000

2.0000000

6.0000000

3.0000000

14.000000

11.000000

15.000000

12.000000

평균

67.736364

61.916667

73.685714

58.014286

76.060000

63.880000

76.500000

54.3000000

80.5333333

55.5333333

81.914286

56.309091

71.980000

51.760000

표준편차

14.405573

16.521794

16.877015

9.313866

22.125845

10.742998

8.869047

4.3840620

18.3988768

6.5041013

14.448788

8.559843

15.796347

7.470178

코드
mytable3 <- table_function_general(tab3, 2)
mytable3 

ITEM

TEST

2017

2018

2019

2020

2021

2022

2023

SEX

AGE

개수

평균

표준편차

개수

평균

표준편차

개수

평균

표준편차

개수

평균

표준편차

개수

평균

표준편차

개수

평균

표준편차

개수

평균

표준편차

ITEM_F001

남성

13

16

162.35000

7.448937

20

164.71500

6.895328

26

164.89231

8.639024

1

182.80000

2

159.40000

6.2225397

3

165.26667

2.663331

11

165.60909

9.177304

14

16

165.45625

5.399873

17

168.50588

5.318067

32

167.60313

6.567539

3

169.43333

4.3096790

2

170.60000

11.4551299

7

171.71429

11.317159

18

168.38889

7.085602

15

16

269.78125

397.692213

22

170.97727

6.552058

24

173.60000

5.362592

3

170.90000

4.6227697

2

169.70000

6.6468037

15

173.38000

4.947900

17

174.18824

7.105005

16

15

173.20000

7.156915

32

173.03125

4.476421

23

173.53913

6.486751

4

170.82500

6.4391381

7

175.34286

2.8692956

16

174.03125

5.888488

11

171.58182

5.568989

17

11

175.00000

4.850979

26

173.45000

4.888374

30

173.57333

6.267262

5

174.26000

4.4964430

10

173.14000

6.7641539

11

174.98182

3.136819

17

174.35294

8.408412

18

11

174.52727

5.833197

14

174.62857

5.844054

5

171.58000

3.834319

4

169.32500

3.7187588

6

176.53333

2.4459490

14

176.55714

5.852772

15

171.24667

6.460856

여성

13

17

157.28824

7.663214

11

156.29091

5.826054

16

156.49375

3.423150

2

158.90000

4.9497475

5

157.36000

1.9060430

10

160.37000

4.903298

13

159.55385

8.704751

14

13

159.90000

7.355723

16

159.35000

4.665047

15

161.04000

4.529869

2

155.60000

7.7781746

4

158.32500

5.3080913

8

161.87500

4.987341

8

158.96250

6.857100

15

18

162.31667

5.818353

13

162.40000

6.858450

22

160.62273

5.114678

2

159.95000

3.1819805

1

162.00000

8

160.70000

3.706751

18

160.38333

3.873021

16

14

159.31429

5.439154

24

160.92083

5.050095

21

159.68095

5.956309

2

158.65000

0.4949747

3

165.06667

0.8504901

7

159.14286

7.628424

19

161.43684

4.344883

17

15

160.96000

4.036760

19

161.98421

3.481102

17

159.34706

6.197491

3

161.00000

1.5620499

6

158.73333

3.7494889

8

162.43750

4.955210

14

162.38571

5.063574

18

6

161.15000

6.338060

7

160.47143

6.273945

5

163.08000

4.930213

2

164.50000

5.6568542

3

156.20000

3.5930488

11

162.87273

7.072778

12

160.39167

8.397668

ITEM_F002

남성

13

16

56.94375

15.884289

20

64.26500

15.545562

26

63.73077

16.570716

1

97.50000

2

72.85000

36.4159992

3

60.93333

9.154416

11

64.41818

20.188453

14

16

59.13125

11.659086

17

63.07647

14.848086

32

62.96875

13.394256

3

63.06667

8.2778822

2

91.00000

21.9203102

7

72.95714

26.349058

18

63.50556

21.315873

15

16

104.26250

173.489050

22

66.11364

15.825425

24

68.09167

14.052446

3

72.56667

8.3930527

2

69.20000

0.1414214

15

74.46000

17.230695

17

63.67059

12.500138

16

15

66.78667

9.549336

32

73.22187

13.522806

23

65.82174

9.863153

4

60.87500

4.6800107

7

76.31429

9.4735471

16

66.16875

9.440602

11

67.37273

9.252361

17

11

77.20909

9.333215

26

67.40000

12.206883

30

71.20667

21.510125

5

71.56000

10.2600195

10

86.48000

25.3946101

11

70.89091

13.501293

17

72.18824

11.797186

18

11

67.73636

14.405573

14

73.68571

16.877015

5

76.06000

22.125845

4

76.50000

8.8690473

6

80.53333

18.3988768

14

81.91429

14.448788

15

71.98000

15.796347

여성

13

17

52.73529

13.056413

11

51.02727

12.546481

16

49.35000

7.319381

2

53.00000

4.2426407

5

50.38000

6.3762842

10

59.63000

15.168831

13

55.63846

15.079597

14

13

53.63846

16.585965

16

52.63750

5.889298

15

58.50000

14.159600

2

62.65000

2.0506097

4

58.05000

8.8925062

8

57.45000

11.006751

8

55.66250

15.383752

15

18

58.88333

11.447849

13

61.77692

11.747919

22

56.90000

7.043065

2

61.40000

19.6575685

1

50.40000

8

57.38750

12.218538

18

55.47778

8.658933

16

14

56.20714

8.167804

24

57.67500

7.253979

21

58.65238

12.105933

2

56.75000

5.1618795

3

62.13333

11.6423079

7

55.57143

9.224734

19

54.39474

6.117504

17

15

62.96667

13.193487

19

55.25263

13.886499

17

61.22353

16.329671

3

56.70000

13.3461605

6

55.25000

4.4021586

8

61.36250

14.413975

14

57.06429

15.334908

18

6

61.91667

16.521794

7

58.01429

9.313866

5

63.88000

10.742998

2

54.30000

4.3840620

3

55.53333

6.5041013

11

56.30909

8.559843

12

51.76000

7.470178

4.3 아래한글(HWP)로 내보내기

이제 flextable로 출력한 표를 아래한글로 내보내는 과정을 확인해보자.

아래한글은 우리나라에서만 쓰이는 문서프로그램이기에 flextable에서 직접 아래한글로 표를 내보내는 것은 없다.

그렇기에 워드(WORD)로 내보낸 표를 아래한글로 가져오면 된다.

가장 간단한 방법으로 워드로 내보낸 표를 복사 붙여넣기를 통해 아래한글로 내보낼 수 있다.

mytable1를 워드(WORD)로 내보내는 코드는 다음과 같다.

# 새로운 Word 문서 객체 생성
my_doc <- read_docx()

# 본문(body)에 flextable 삽입
my_doc <- body_add_flextable(my_doc, mytable1)

# docx 파일로 내보내기
print(my_doc, target = "my_flextable.docx")

코드를 실행한 다음 R작업폴더에 들어가 보면 내가 지정한 my_flextable.docx파일이 생긴것을 알수 있다.

파일에 들어가보면 flextable로 만든 표가 있는 것을 확인 할수 있다.

그리고 이 표를 복사해서 아래한글에 붙여넣기를 하면 아래한글로 표를 옮길수 있다.