[R] R으로 보고서 & 인터랙티브 웹까지 만들수 있다. (feat. Shiny)

2024. 8. 29. 00:47·Coding & Data Analysis/R

인트로

뭔가 공부를 더 해야 직성이 풀리는 날 있잖아..

그래서 분산분석 관련 글을 적고 난지 얼마 안되어서 새로운 글을 적어봅니다.

 

R은 정말 강력한 데이터 분석 및 시각화 툴이지만, 다양한 기능과 패키지를 활용해서

간단한 문법 몇 가지만으로도 PDF, Word, HTML 등으로 표현된 보고서를 10분만에 만들거나

웹 개발적인 지식이 부족하더라도 사용자와 상호작용하는 인터랙티브 웹을 만드는 것도 가능합니다.

데이터 분석가로서는 결국엔 '배포' 가 최종 목적지이기에

마무리가 중요하다는 것을 잊지 맙시다!

 

 

R Markdown

R에서 지원하는 파일 확장자는 .r 이지만,

보고서를 작성하는 경우, R markdown 이라는 마크다운 형식으로 작성된 문서인 .rmd 확장자를 사용합니다.

마크다운을 위해 간단하게 알아야 할 기능들

 

  1. File 탭에서 R 스크립트를 새로 만들듯이, R Markdown 문서를 만들 수 있습니다.
  2. 만든 직후 생성된 코드는 R에서 제공하는 기본 틀이라고 생각하면 됩니다.
  3. 톱니 아이콘을 클릭해서 마크다운 미리보기를 웹에서 할지 RStudio 의 뷰어에서 할지 설정할 수 있습니다.
  4. Knit 를 클릭해서 HTML, PDF, Word 로 문서를 저장할 수 있습니다.

주의할 점은, PDF로 저장하는 경우 tinytex 패키지를 로드하고 나서 install_tinytex 함수를 실행해야 합니다.

library(tinytex)
install_tinytex()

추후 문서 작성을 위해 코드를 알아보자면,

  • 줄 바꿈 : 띄어쓰기 두 번 후 Enter
  • 가로줄 (단락 종료) : ***
  • 이탤릭체 : *내용*
  • 볼드체 : **내용**
  • 제목 : 옵시디언의 표현식과 같이 # 으로 다룹니다.
  • 하이퍼링크 : <주소>
  • 이미지 : ![캡션](경로){크기 설정} ( 캡션 생략 가능합니다. )
  • 인라인 코드 : `코드`

코드 블럭 :

```{ 블럭 이름}
코드
```

입니다! 더 자세한 문법은 rmarkdown 홈페이지에 방문해서 확인하실 수 있습니다.

 

 

인터랙티브 웹 (Shiny)

인터랙티브 웹이란,

사용자가 입력한 데이터에 따라 웹이 반응하여 상호 작용하며 동작하는 웹입니다.

R에서는 Shiny 라는 패키지를 사용하여 프론트엔드(HTML, CSS 등) 에 대한 지식이 부족하더라도

사용자의 요청으로 움직이는 대시보드를 구현할 수 있고,

Shinyapps.io 서비스로 외부에 배포할 수도 있습니다.

https://www.shinyapps.io/

 

shinyapps.io

Premium Email Support Customers with Starter, Basic, Standard or Pro subscriptions can get direct access to our support engineers by opening a case on the Posit Support site. Questions are answered from 9AM - 5PM(EST) Monday - Friday.

www.shinyapps.io

 

Shiny 는 크게 UI 와 서버로 구성되는데, 각각 웹 개발의 프론트엔드와 백엔드라고 이해하면 됩니다.

UI 사용자가 보는 화면. 디자인적 요소와 상호작용을 다룬다. input 을 받아서 서버에 전달.
Server Shiny 앱의 로직. 앱에서 표현하는 다양한 데이터의 분석을 다룬다. output 을 처리해서 UI에 전달.
ui <- fluidpage(	# UI 기본 틀
    sidebarLayout()
    mainPanel()
    )
    
server <- function() {	# 서버 기본 틀
	}

shinyApp(ui=ui, server=server)	# 앱 실행 함수

 

** 무료 사용자는 1달에 5개의 앱만 배포할 수 있고, 25시간동안만 활성화됩니다.

 

'Coding & Data Analysis > R' 카테고리의 다른 글

[R] R에서 사용되는 가설검정 함수 결과 해석  (0) 2024.12.12
[R] 지역별 미세먼지 농도 비교 & 가설 검정  (6) 2024.08.28
[R] 코로나19 선별진료소 빈도분석 & 지도 시각화  (0) 2024.08.27
[R] 시각화를 위한 데이터 구조 변경 및 추가 개념  (0) 2024.08.25
[R] Excel 전처리 & 빈도분석 시각화 개념들  (0) 2024.08.25
'Coding & Data Analysis/R' 카테고리의 다른 글
  • [R] R에서 사용되는 가설검정 함수 결과 해석
  • [R] 지역별 미세먼지 농도 비교 & 가설 검정
  • [R] 코로나19 선별진료소 빈도분석 & 지도 시각화
  • [R] 시각화를 위한 데이터 구조 변경 및 추가 개념
흑석동사는시골쥐
흑석동사는시골쥐
문과 경영학도 숫자 배우기 프로젝트
  • 흑석동사는시골쥐
    NaN
    흑석동사는시골쥐
  • 전체
    오늘
    어제
  • 링크

    • 독서 일지
    • 올리고 싶은 거 올려요
    • 분류 전체보기 (75)
      • Coding & Data Analysis (52)
        • Python (23)
        • R (21)
        • Excel & Data (2)
        • Git & Github (4)
        • Certificate (2)
      • Project (15)
        • 일자리 스크래핑 서비스 (8)
        • 최적의 인스타 피드 (2)
        • 주식 & 비트코인 분석 (5)
      • Economics (1)
        • 경제기사 스크랩 (1)
      • Records & Thoughts (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 공지사항

  • 인기 글

  • 태그

    전처리
    시각화
    Python
    머신러닝
    주식
    심장병 데이터
    개발
    기초
    코랩
    주가분석
    FLASK
    다항회귀
    데이터분석
    자격증
    r
    데이터수집
    프로그래밍
    데이터
    git
    파이썬
    matplotlib
    ADSP
    AI반도체
    adsp공부법
    동아리
    비전공자
    지도
    엔비디아
    웹스크래퍼
    Colab
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
흑석동사는시골쥐
[R] R으로 보고서 & 인터랙티브 웹까지 만들수 있다. (feat. Shiny)
상단으로

티스토리툴바