Top

R과 Shiny 패키지를 활용한 웹 애플리케이션 개발

  • 원서명Web Application Development with R Using Shiny (ISBN 9781783284474)
  • 지은이크리스 비일리
  • 옮긴이고석범
  • ISBN : 9788960775282
  • 13,000원
  • 2014년 02월 28일 펴냄
  • 페이퍼백 | 152쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 데이터 과학

책 소개

요약

샤이니(Shiny) 패키지는 환상적인 데이터 분석 능력을 가진 R의 기능을 그대로 확장하여, R 언어만으로도 쉽고 빠르면서도 강력한 웹 애플리케션을 만들 수 있는 기능을 제공한다. 웹과 R의 기능을 동시에 갖춘 샤이니 앱을 이용하면 데이터에 담긴 스토리를 이해관계에 있는 수많은 사람들과 효율적으로 공유할 수 있다. 어렵지 않다. 바로 시작할 수 있다. 특히, 이 책에는 초보자를 위해 R과 RStudio를 설치하는 방법과 RStudio에서 샤이니 앱 개발을 손쉽게 시작할 수 있는 한국어판 특별 부록도 수록했다.

이 책에서 다루는 내용

■ R을 사용하여 진보된 데이터를 분석과 그래프를 만드는 방법
■ 샤이니(Shiny)에 내장된 위젯을 사용하여 빠르게 사용자 인터페이스를 구현하는 방법
■ 적은 코딩으로 사용자와의 인터랙션 기능을 구현할 수 있는 반응성 프로래밍 기법(reactive programming)을 적용하는 방법
■ 매력적이고 생산적인 사용자 경험을 주기 위하여 사용자 입력에 반응하여 인터페이스를 바꾸어 적용하는 방법
■ 샤이니 앱에 흥미로운 컨텐츠와 인터랙션을 추가하기 위해서 자바스크립트와 제이쿼리 기능을 결합시키는 방법
■ 샤이니 애플리케이션을 간편하게 무료로 웹에 올릴 수 있는 방법

이 책의 대상 독자

어떤 언어로라도 프로그래밍을 해본 경험은 필요하지만, 이 책을 보기 위해서 이전에 R, 샤이니, HTML, CSS를 모두 알고 있을 필요는 없다.

이 책의 구성

1장, ‘R과 샤이니 패키지 설치와 시작’은 R과 샤이니에 대한 소개와 R을 사용할 때의 조언, 코드 에디터의 선택, 그래프 만들어 보기에 대해 다루고, 샤이니 애플리케이션 사례를 처음 소개한다.
2장, ‘첫 애플리케이션 만들기’에서는 샤이니 프로그램의 기본 뼈대에 대해서 살펴보고 간단한 위젯들과 레이아웃 함수들, 샤이니에서의 반응성 프로그램에 대해 소개한다.
3장, ‘샤이니로 자신의 웹 페이지 구성하기’에서는 HTML과 CSS를 사용한 스타일링과 자바스크립트, 제이쿼리로 기능을 극대화하는 부분까지 사용자의 웹 컨텐츠를 샤이니를 사용하여 만드는 방법을 다룬다.
4장, ‘반응성, 인풋, 아웃풋의 조절’에서는 사용자 인터페이스의 요소를 보이게 하거나 가리기, 반응성 사용자 인터페이스, 애플리케이션에서 사용자의 데이터를 사용하기, 사용자가 만든 데이터와 그래픽을 조절하는 방법 등 샤이니의 고급 기능을 다룬다.
5장, ‘애플리케이션의 실행과 공유’에서는 R 사용자들과 웹으로 빠르고 간단하게 전 세계의 사람들과 샤이니 애플리케이션을 공유하는 방법을 다룬다.
한국어판 부록, ‘RStudio에서 샤이니 앱 개발을 손쉽게 시작하기’에서는 R과 RStudio의 설치 방법, RStudio에서 샤이니 개발 프로젝트 기능을 사용하는 방법 등을 추가로 다룬다.

저자/역자 소개

저자 서문

R의 강력한 그래픽 기능과 통계 분석 능력을 이용하고, 사용자 상호작용을 쉽게 만들 수 있는 정말로 훌륭한 샤이니 패키지를 사용하여 인터랙티브하고 매력적인 사용자 인터페이스를 빠르게 개발해 보자. R은 데이터 분석과 시각화에서 매우 유연하고 뛰어난 기능을 가지고 있다. 샤이니는 R의 완벽한 친구로서 사용자가 웹과 상호작용하고 웹을 통한 질의를 가능하게 함으로써 데이터 분석 결과와 그래프를 빠르고 간편하게 공유할 수 있다. 샤이니에게 대부분의 어려운 일들을 처리하게 하고, 개발자는 컨텐츠를 만들고 스타일을 입히는 일 등에 시간을 할애할 수 있으므로, 애써 유저가 입력한 값들을 처리하는 코드를 만들 필요가 없다. 실용사례로 가득한 이 책은 웹에서 최선의 상호작용 기능을 하는 컨텐츠를 작성하는 방법을 알려준다. 아주 간단한 사례로 시작해 완전히 스타일이 갖춰진 확장 가능한 애플리케이션을 만드는 데까지 설명한다.

저자 소개

크리스 비일리(Chris Beeley)

영국의 헬스케어 분야에서 일하는 연구자이다. 2009년에 노팅엄대학교 심리학과에서 박사를 수료했으며, 현재 노팅엄셔 헬스케어 NHS 트러스트에서 통계 분석과 트러스트 안에서 발생하는 일반적인 데이터를 분석하여 보고하는 일을 한다. 크리스는 응용 헬스케어 분야, 특히 법정신의학 분야에서 회귀분석법의 사용에 관심이 매우 많으며, 환자의 피드백 데이터를 수집하고 분석하며 보고하는 데도 관심이 많다.

크리스는 박사학위를 마치고 나서 열렬히 R을 사용해 왔으며 연구와 헬스케어 분야에서의 오픈소스툴에 대해 열정적으로 지지해왔다. 새로운 환자 피드백 웹사이트에서 자동화된 분석과 보고 시스템을 구축하는 데 광범위하게 R과 샤이니를 사용한다. 이 작업은 혁신을 위한 NHS 연구소로부터 지원금을 보조 받았으며, 스태프, 서비스 사용자, 돌봄이들, 특히 인발브먼트 센터(Involvement Center)의 사람들의 협력을 바탕으로 이뤄졌다.

옮긴이의 말

R로 사람들이 무슨 일을 하는지 정말 궁금하다.
그간 R은 내게 무척 고마운 존재였다. 비용이 들지 않을뿐더러 인터넷에는 도움을 받을 수 있는 자료들이 넘쳐난다. R은 항상 뭔가를 생각하게 만들어 주었다. 컴퓨터와 코딩을 배우게 해 주었고, 일상의 업무를 바라보는 새로운 시각을 가지게 했다. 왜 고인이 된 스티브 잡스가 사람들에게 코딩을 배울 것을 권하며 코딩이 생각하는 방식을 바꾼다고 말했는지를 조금 이해하게 되었다. 시간이 흐르고 빅데이터 붐이 일어나면서 R이 점점 더 중요한 언어로 평가되어 인기도 올라가게 되니 매우 흐뭇하다.
R 샤이니 패키지는 R 언어로 웹 애플리케이션을 만들 수 있는 프레임워크를 제공한다. 나 같은 아마추어도 쉽게 애플리케이션을 만들 수 있다. R은 데이터 분석에 뛰어난 언어이고 웹은 수많은 사람들과 소통하기 위한 인간이 만든 최고의 도구임에 틀림없다. 샤이니 패키지의 가치는 이 두 가지 툴의 시너지를 즐길 수 있도록 해 준다는 데 있다고 생각한다. ‘즐긴다’는 표현은, 머리 싸매고 웹과 관련된 여러 언어들을 처음부터 모두 알아야 할 필요가 없다는 사실을 강조하기 위해 사용했다. 그야말로 즐기면서 만들어 사용하면 된다. 물론 웹과 관련된 툴을 알고 있으면 더욱 더 짜릿하게 즐길 수 있다.
컴퓨터 언어도 시대에 따라 어떤 부침이 있는데, 샤이니 패키지에서 사용되는 반응성 프로그래밍(reactive programming) 방법은 최근 가장 떠오르는 프로그래밍 기법 중의 하나라고 한다. 따라서, 샤이니를 배운다는 것은 이런 최근 기법의 하나를 익히는 셈이 된다.
작지 않은 병원의 병원장이란 책임을 맡다 보니 공식, 비공식적인 일들이 항상 주위에서 일어나고 그때마다 최선을 다해서 일들을 처리해나가야 한다. 시간이 그리 넉넉하지는 않지만, 서머셋 모옴의 『달과 육펜스』를 떠올리면서 삶의 모든 시간을 육펜스에 쏟다보면 마음이 황폐해지는 것 같은 생각에 가끔은 글을 쓰는 달의 시간을 가지고 위해 노력했다.
마지막으로 졸역이겠지만 책이 되어 나오면 헌신적으로 환자 중심의 최고의 병원을 만들기 위해 노력하는, 존경하는 보바스기념병원과 보바스어린이병원 임직원들과 작은 기쁨이라도 나누고 싶다.

옮긴이 소개

고석범

가톨릭대학교 의과대학을 졸업하고, 같은 대학에서 신경과 전문의를 수료했다. 동대학원에서 신경과 석사 학위를 받았으며, 해부학 박사 과정에 있다. 현재 경기도 성남시에 있는 보바스기념병원 병원장을 맡고 있다. 컴퓨터에 대해서는 전혀 아는 것이 없었는데, 병원 관련 자료 분석을 위해 R을 접하면서 컴퓨터 세계에 빠져들었다. 병원 운영과 관련된 데이터들을 병원의 질적인 수준을 높이는 데 R이 큰 도움이 된다고 생각한다.

목차

목차
  • 1장 R과 샤이니 패키지 설치와 시작
    • R의 설치
      • R 콘솔
    • 코드 에디터와 통합개발환경
      • 간단하고 기능이 잘 갖추어진 편집기
      • 복잡하고 확장 가능한 편집기
    • R 배우기
      • 도움말 얻기
      • 데이터 로딩
      • 데이터프레임, 리스트, 배열, 행렬
      • 변수의 데이터 타입
      • 함수
      • 객체
    • 베이스 그래픽과 ggplot2
      • 막대 그래프
      • 선 그래프
    • 샤이니 설치와 예제 실행
    • 정리

  • 2장 첫 애플리케이션 만들기
    • 프로그램 구조
      • 아주 간단한 Ui.R 사례
      • 아주 간단한 server.R 사례
        • 옵션 연습 문제
    • 위젯 타입
    • 구글 애널리틱스 애플리케이션
      • 사용자 인터페이스
      • 데이터 프로세싱
      • 반응성 객체
      • 아웃풋
      • 애플리케이션 코드에 대한 노트
      • 옵션 연습 문제
    • 정리

  • 3장 샤이니로 자신의 웹 페이지 구성하기
    • 애플리케이션과 코드 실행하기
    • 샤이니와 HTML
    • 샤이니에 사용자 HTML 링크 포함시키기
      • ui.R
      • server.R
        • server.R-데이터 준비
        • server.R- 서버 정의
    • 아주 기본적인 HTML 인터페이스
      • index.html
      • sever.R [sub:severr]
    • 자바스크립트와 샤이니
      • ui.R
      • server.R
    • 제이쿼리
      • index.html-body
      • server.R
      • 제이쿼리
    • 연습하기
    • 정리

  • 4장 반응성, 인풋, 아웃풋의 조절
    • 유저인터페이스에 요소들을 드러내거나 숨기기
      • tabPanel 요소에 이름 부여하기
    • 반응성 사용자 인터페이스
      • 반응성 사용자 인터페이스 사례: server.R
      • 반응성 사용자 인터페이스 사례: ui.R
    • 고급 반응성 조절
      • submitButton() 함수로 전체 인터페이스를 조절하기
      • isolate() 함수를 사용하여 특정 인풋을 조절하기
      • 일정 시간이 지난 후에 반응성 함수를 실행시키기
    • 샤이니의 기타 고급 기술
      • 인풋과 아웃풋을 세밀하게 조절하기
      • 샤이니에서 사용자 정보와 GET 요청을 읽는 방법
      • GET 문자열로부터 사용자 인터페이스 조절하기
    • 애니메이션
    • 향상된 그래픽 옵션
      • 그래픽 다운로드
    • 데이터 다운로드와 업로드
    • 정리

  • 5장 애플리케이션의 실행과 공유
    • R 커뮤니티에서 공유하기
      • 깃허브를 통한 공유
      • 깃 소개
      • 깃을 사용한 애플리케이션 공유
      • .zip, .tar 파일을 사용하여 공유하기
    • 전세계의 사람들과 공유하기
      • Glimmer
      • 샤이니 서버
      • 브라우저 호환성
    • 정리

  • 한국어판 부록 RStudio에서 샤이니 앱 개발을 손쉽게 시작하기
    • R과 RStudio 설치
    • RStudio에서 샤이니 애플리케이션 개발 프로젝트 만들기
    • 샤이니 개념을 공부할 수 있는 정보 소스와 예제

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p. 55 그림 밑에서 4번째 줄]

http:\ → http://