소프트웨어시스템실습 Shiny 프로그래밍 2016. 2학기.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
앱인벤터 기초과정 (1차시) ㈜헬로앱스 강사: 김영준 목원대학교 겸임교수.
컴퓨터와 인터넷.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
DB 프로그래밍 학기.
DB 프로그래밍 학기.
[별첨] 특허 DB 구축 및 토픽 모델링 수행 과정 Flowchart, File List
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
Image & Video processing
Database Laboratory, Hong Ik University
Power Java 제3장 이클립스 사용하기.
.Net Web Application 2010 컴퓨터공학실험(Ⅰ)
윤 홍 란 다이알로그(대화상자) 윤 홍 란
뇌를 자극하는 Windows Server 2012 R2
JSP Programming with a Workbook
Visual Basic 함수.
4-1장. MySQL 제13장.
Root Filesystem Porting
Capstone-Design : IoTeam Introduction Abstract
1. C++ 시작하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Root Filesystem Porting
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
22강. 파일 업로드 - 파일 업로드 라이브러리 설치 - 파일 업로드 프로그래밍 Lecturer Kim Myoung-Ho
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
KHS JDBC Programming 4 KHS
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
Grade Server Team14. Attention Seeker
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
Eclipse 를 이용한 네트워킹 퍼즐 게임 “Scrambled Net” 담당 교수님 전진우 교수님 최은아.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
인터넷응용프로그래밍 JavaScript(Intro).
CHAP 13. 방명록 만들기 실습.
반응형 웹 프로젝트
이름 : 황 상 두 전화번호 : 이메일 : PinTool 이름 : 황 상 두 전화번호 : 이메일 :
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
SAS Statistical Analysis System 통계패키지 실습 (2011년 1학기)
영상처리 실습 인공지능연구실.
Smart Workplace 개발자 가이드
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
Chapter 34. Advanced Web Page Options
WebtoB - Jeus 연동.
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Canary value 스택 가드(Stack Guard).
( Windows Service Application Debugging )
Cold Spring Harbor Laboratory Press 저널 이용 매뉴얼
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
RPTree 코드분석 (월) Dblab 김태훈.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
적용 가능 시간표 무한 생성 기계 2007/06/18 최석훈.
CHAP 15. 데이터 스토리지.
 6장. SQL 쿼리.
Platform Builder 사용법.
8주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
Favorite List Management Service : 화면 설계
유승석 FILE I/O File Input/Output 유승석 SD50 – C# & .NET Platform.
Presentation transcript:

소프트웨어시스템실습 Shiny 프로그래밍 2016. 2학기

Shiny Programming Shiny 란? R + Interactivity (사용자 반응 지원) + Web

Shiny Programming

Shiny Application 의 구조 Shiny App은 2가지 파일을 가짐 User-interface script Server script

Shiny Application 의 구조 ui.R The user-interface (ui) script: App의 layout, appearance를 제어

Shiny Application 의 구조 server.R The server.R script: App을 구성하는 필요한 명령어를 포함

Shiny App.의 구동 ui.R 과 server.R이 있어야 함 runApp() 첫 번째 인자에 working directory 지정 library(shiny) runApp("App-1")

Shiny Application의 구동 Shiny 프레임워크상에서 개발된 R 프로그램의 구동

User-Interface 빌드 Layout fluidPage sidebarLayout # ui.R sidebar와 main area로 분할하는 layout sidebarPanel, mainPanel 함수를 꼭 구현해야 함 # ui.R shinyUI(fluidPage( titlePanel("title panel"), sidebarLayout( sidebarPanel( "sidebar panel"), mainPanel("main panel") ) ))

User-Interface 빌드 Layout ① headerPanel ② sidebarPanel ③ mainPanel 기본적인 제목과 주제가 들어가는 곳 ② sidebarPanel mainPanel을 다룰 수 있는 컴포넌트들이 들어가는 곳 ③ mainPanel 실질적인 작업의 결과가 보여지는 곳 ① ② ③

User-Interface 빌드 Headers

User-Interface 빌드 Formatted Text

User-Interface 빌드 이미지 출력

Control Widgets 추가 Control widgets Standard Shiny widgets

Reactive Output 디스플레이 목표 : 사용자가 widget의 내용을 바꾸었을 때 mainPanel의 정보가 자동으로 수정

Reactive Output 디스플레이 Reactive output 생성을 위한 2단계 User Interface에 R object 추가 R object를 빌드하기 위해 R 코드를 삽입

Reactive Output 디스플레이 Step 1: User Interface에 R object 추가 inputId Output function creates htmlOutput raw HTML imageOutput image plotOutput plot tableOutput table textOutput text uiOutput verbatimTextOutput 입력제어 출력 *Output 함수의 첫 번째 인자인 outputId(해당 예: “text1”)를 reactive output variable의 id로 사용

Reactive Output 디스플레이 Step 2: R object를 빌드하기 위해 R 코드를 삽입 render function creates renderImage images (saved as a link to a source file) renderPlot plots renderPrint any printed output renderTable data frame, matrix, other table like structures renderText character strings renderUI a Shiny tag object or HTML render*함수는 { }로 둘러싸인 R expression을 인자로 가짐 R expression 수행 후, object를 return (a piece of text, a plot, a data frame, etc)

Reactive Output 디스플레이 App의 구동 및 Reactive output 확인 output input Server

Source code 보기 Showcase 모드 runApp("test", display.mode = "showcase")

Reactive Expressions Stock 이라는 이름의 폴더 생성 다음 파일을 다운로드: ui.R, server.R, and helpers.R. App 구동: runApp("stockVis") 1. Select a stock to examine 2. Pick a range of dates to review 3. Choose whether to plot stock prices or the log of the stock prices on the y axis, and 4. Decide whether or not to correct prices for inflation.

Use Reactive Expressions Streamline 계산 문제점: “Plot y axis on the log scale” 클릭 시,renderPlot의 전체가 re-run함 getSymbols에서 yahoo finance data re-fetch

Use Reactive Expressions reactive 함수를 이용하여 render*  함수처럼 R expression을 {}안에 구현 “Plot y axis on the log scale” 클릭 시, renderPlot: call dataInput() dataInput: dates 및 symb widgets 의 변경 여부를 확인 dataInput: Yahoo로부터 re-fetch되는 데이터 없이 저장된 데이터 집합을 리턴 renderPlot: 차트를 다시 그림

Use Reactive Expressions Reactive expression이 다시 호출되었을 때, 저장된 값을 다시 계산해야 하는 지 확인(widget의 값이 바뀌었는가) Widget의 값이 바뀌었으면 다시 계산 그대로면 저장된 값 다시 return 불필요한 code의 re-run을 막아줌

빅데이터 분석을 위한 Shiny Application 실습 빅데이터 분석 어플리케이션 개발 빅데이터 분석을 위한 Shiny Application 실습

Iris Classification 어플리케이션

Iris Classification 어플리케이션 Server.R

Iris Classification 어플리케이션 Server.R

Iris Classification 어플리케이션 ui.R