비교를 설명하는 문장을 동적으로 만들기 headliner

제목은 단순히 사실을 기술하는 것보다는 통찰력을 보여주는 문장으로 기술하는 것이 더 효과적일 수 있습니다. 예를 들면 1,000명 지원보다는 지원자 전년 대비 10% 감소와 같이 비교를 통한 통찰력 있는 문장이 더 도움이 됩니다.

headliner 패키지는 비교를 설명하는 문장을 동적으로 구성할 수 있는 함수들을 제공합니다. 몇 가지 예시를 통해 사용법을 알아보겠습니다.

먼저 headliner 패키지를 로드하겠습니다.

library(headliner)

단순 비교 문장 만들기

headline() 함수에 두 개의 숫자를 입력하여 단순 비교 문장을 만들어 보겠습니다. 예를 들어 이번 달 판매량이 101이고, 12개월 전 판매량이 107이라고 가정하고 이를 비교하는 문장을 만들 것입니다. 함수를 실행한 결과 영어로 6이 감소하였다는 문장이 출력됩니다.

headline(x = 101, y = 107)
## decrease of 6 (101 vs. 107)

비교 문장을 직접 구성하기

위 예시처럼 headline() 함수는 기본적으로 출력하는 형태가 있습니다. 이를 headline 옵션과 trend_phrases 옵션 등을 이용해서 원하는 형태로 직접 문장을 구성할 수 있습니다.

{delta}는 x와 y라는 두 숫자의 차이(절대값)를 의미합니다. {trend}는 증가나 감소를 표현합니다. 기본값은 “decrease”, “increase” 등으로 되어 있으나, trend_phrases 옵션을 통해 단어들을 변경할 수 있습니다. 아래 예시에서는 증가(more)하면 “증가”로, 감소(less)는 “감소”로 단어를 변경하였습니다. {orig_values}x vs. y형태로 출력합니다.

headline(x = 101, 
         y = 107,
         headline = "{delta} {trend} ({orig_values})",
         trend_phrases = trend_terms(more = "증가", 
                                     less = "감소"))
## 6 감소 (101 vs. 107)

{delta}와 같은 구성 요소들을 살펴보려면 compare_values() 함수를 이용합니다.

compare_values(x = 101, y = 107) |> view_list()
##                           value
## x                           101
## y                           107
## delta                         6
## delta_p                     5.6
## article_delta               a 6
## article_delta_p           a 5.6
## raw_delta                    -6
## raw_delta_p                -5.6
## article_raw_delta          a -6
## article_raw_delta_p      a -5.6
## sign                         -1
## orig_values         101 vs. 107
## trend                  decrease

각 구성요소를 간단히 설명하면 다음과 같습니다.

  • delta : x와 y의 절대차
  • delta_p : x와 y 사이의 % 차이
  • article_delta : 관사(a,an)가 포함된 델타
  • article_delta_p : 관사(a,an)가 포함된 delta_p
  • raw_delta : x와 y의 실제 차이
  • raw_delta_p : x와 y 사이의 실제 % 차이
  • article_raw_delta : 관사가 있는 raw_delta
  • article_raw_delta_p : 관사가 있는 raw_delta_p
  • 부호 : 방향, 1(증가), -1(감소), 0(변화 없음)
  • orig_values : {x} 대 {y}의 약어
  • trend : trend_phrases 옵션 값에 달라짐. 기본값은 “increase”, “decrease”, “no difference”임

긴 문장으로 구성하기

headline() 함수에서 몇 가지 옵션을 사용하면 긴 문장으로 비교 내용을 구성할 수 있습니다.

headline(x = 101, 
         y = 107,
         headline = "이번 달 판매량은 12개월 전에 비해 {delta_p}% {trend}하였습니다. ({orig_values})",
         trend_phrases = trend_terms(more = "증가", 
                                     less = "감소"),
         orig_values = "{x} ← {y}")
## 이번 달 판매량은 12개월 전에 비해 5.6% 감소하였습니다. (101 ← 107)