Microsoft Word - Ch1_Introduction.docx

Similar documents
Microsoft Word - SAS_Data Manipulate.docx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - EDA_Univariate.docx

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - SBE univariate5.pptx

Microsoft Word - src.doc

Microsoft Word - Software_Ch2_FUNCTION.docx

JDK이클립스

윈도우즈프로그래밍(1)

statistics

확률과통계6

Microsoft PowerPoint - chap06-2pointer.ppt

확률 및 분포

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

PowerPoint Presentation

<4D F736F F F696E74202D204D41544C4142B0ADC0C7B7CF28B9E8C6F7BFEB295F3031C0E55FBDC3C0DBC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

OCW_C언어 기초

마지막 변경일 2018년 5월 7일 ** 이항분포와 정규분포의 관계 ** Geogebra와 수학의 시각화 책의 3.2소절 내용임. 가장 최근 파일은 링크를 누르면 받아 보실 수 있습니다.

Studuino소프트웨어 설치

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>

Java ...

Microsoft PowerPoint - chap04-연산자.pptx

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

Endpoint Protector - Active Directory Deployment Guide

Microsoft PowerPoint - e pptx

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - Java7.pptx

SBR-100S User Manual

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

Microsoft Word - PLC제어응용-2차시.doc

IRISCard Anywhere 5

Microsoft PowerPoint - chap05-제어문.pptx

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

4S 1차년도 평가 발표자료

1 1 장. 함수와극한 1.1 함수를표현하는네가지방법 1.2 수학적모형 : 필수함수의목록 1.3 기존함수로부터새로운함수구하기 1.4 접선문제와속도문제 1.5 함수의극한 1.6 극한법칙을이용한극한계산 1.7 극한의엄밀한정의 1.8 연속

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft Word - Armjtag_문서1.doc

Microsoft PowerPoint - C++ 5 .pptx

<C6F7C6AEB6F5B1B3C0E72E687770>

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

PowerPoint 프레젠테이션

Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

ISP and CodeVisionAVR C Compiler.hwp

Microsoft PowerPoint - additional01.ppt [호환 모드]

슬라이드 1

생존분석의 추정과 비교 : 보충자료 이용희 December 12, 2018 Contents 1 생존함수와 위험함수 생존함수와 위험함수 예제: 지수분포

Microsoft PowerPoint Predicates and Quantifiers.ppt

PowerPoint Presentation

Microsoft PowerPoint - ºÐÆ÷ÃßÁ¤(ÀüÄ¡Çõ).ppt

untitled

1

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

OCW_C언어 기초

01

PowerPoint Presentation

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

01장

MF3010 MF Driver Installation Guide

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

Microsoft PowerPoint - chap01-C언어개요.pptx

NTD36HD Manual

untitled

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

UI TASK & KEY EVENT

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

PowerPoint Presentation

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");


<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

PowerPoint 프레젠테이션

vRealize Automation용 VMware Remote Console - VMware

ICAS CADWorx SPLM License 평가판설치가이드

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

게임 기획서 표준양식 연구보고서

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

Microsoft Word - Ch1_Introduction_math.docx

17장 클래스와 메소드

Install stm32cubemx and st-link utility

Xcovery 사용설명서

tiawPlot ac 사용방법

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

View Licenses and Services (customer)

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

JAVA PROGRAMMING 실습 02. 표준 입출력

06 세상을 변화시키는 연산자

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Transcription:

1.1 R 개요 통계계산과그래프작성을위한언어와환경인 R 은뉴질랜드 Auckland 대학의 Ross Ihaka 와 Robert Gentleman 이 1995 년개발하고 R-Core 팀이 1997 년결성 2002 년 R Foundation 이설립되어전세계에무료로배포되고있다. 1.1.1 GNU(GNU is Not Unix) Project Unix-like Operating System 다양한인터페이스, DBMS 데이터수용 그래픽기능이강한 S 언어와환경하에서개발 S 코드대부분은수정없이 R 에서실행가능 1.1.2 S language 기반 + 설계자 John Chambers, 1998 (ACM award) + 데이터통합, 시각화, 분석을위한객체지향형프로그래밍언어 + 통계연구프로젝트착수 1976, 버전 4 출시 1998 + 대화형기반기술데이터입출력, 변환용이 + 데이터시각적표현중심으로개발 + Java 의 Eclipse 제공으로프로그래머개발환경개선 - S 기반통계시스템상용프로그램 - S-Plus: 1993 라이선스 (TIBCO 회사상용소프트웨어 ), 2007 S-Plus 8 이 R 과호환, 2008 Insightful (2001 설립, S-plus 기반 ) 회사인수 - Statistical Sciences (1988), Inc, R. Douglas Martin, 미국 Washington 대학 (Seattle), 통계학과교수 - Adopt Trellis 그래프, 1995 - Embedded S-Plus in Excel, 1998 - Mathsoft(1993) 현재버전 8 1.1.3 R 장점 + 사용환경 ; small and effective - 대화식프로그램수행 - 대용량데이터관리및처리, 행렬연산, 그래픽환경 + Freeware and Open source 1

- GPL(General Public License) 개념으로 CRAN (Comprehensive R Archive Network) 에서배포 - 전세계연구자의개발알고리즘, 함수활용가능 + 다양한확장성및범용성 - UNIX, Mac, Windows 운영체계사용이가능함 - Java, C, Fortran 프로그래밍언어에인터페이스제공 - DBMS 데이터접근용이 +Bio-informatics, Microarray 분석표준시스템 +Embedded R in Excel +R 사용준비 -Be smart: copy-left 소프트웨어사용자, Bulky hater -easy to use: 적은시간투자로 R 사용자가능 -Be economical: free and get world-wide help -Be challenge; 데이터, 프로그램개별관리, 행렬개념의데이터관리, -데이터분석 : 함수중심알고리즘 1.2 R 설치 1.2.1 설치파일가져오기 + 설치파일웹사이트 : http://www.r-project.org 2

+ 설치파일찾기 첫화면왼쪽메뉴에서 CRAN 링크를선택하면우측화면에설치파일이있는 Mirror 사이트 ( 네트웍트래픽을줄이기위하여다른컴퓨터서버를복사해놓은웹사이트또는컴퓨터파일서버 ) 가출력된다. 대한민국의 R Mirror 사이트는다음과같다. + 설치파일 자신컴퓨터운영체계에적절한링크를선택한다. Window XP, Vista, 윈도우 7 등은 Windows 링크를클릭한다. base 링크를선택하여 R 기본적인프로그램설치파일을다운로드링크를얻는다. contrib 링크에는부가적인패키지들이있다. 부가적라이브러리패키지는필요할때 R 프로그램내의메뉴에서설치할수있으므로초기에는 base 에있는아래프로그램만설치하면된다. (2010.01.23 현재 ) 3

1.2.2 설치하기 + 메인 R 프로그램설치하기 Download R 2.10 for Windows 링크를클릭하면아래화면이나온다. 저장 하여프로그램을설치할수있으나, 다시사용할필요가없고언제든지다운받을수있으므로바로 실행 을눌러프로그램을설치할것을권한다. 실행 을눌러프로그램설치가시작되면설치마법사가설치관련옵션을창에띄워선택하게한다. 설치후환경설정을수정할수있으므로제시하는디폴트옵션으로설치할것을권한다. 다음은디폴트옵션에의해설치된 R 프로그램의설치폴더는이고프로그램메뉴에다음아이콘그룹이생성된다. 그룹메뉴에서을선택하면 R 프로그램이실행된다. 다음은 R 의첫화면이다. 메뉴바, 주요아이콘바, 콘솔 (console) 창이나타난다. 콘솔창에서는라인실행이가능하다. 콘솔에서는프로그램 (R 에서는 Script 라한다 ) 실행, 결과출력, 프로그램오류등이출력된다. 그래프창은필요시팝업되며적절한그래프가그려진다. 프로그램은콘솔에서가능하지만스크립트 (Script, 프로그램 ) 창에서작성이가능하다. 4

+ 패키지설치 base 에포함되지않는함수가포함된라이브러리는 패키지 메뉴에서가능하다. 그룹변수에의해측정형변수의기초통계량을구하는함수 summaryby() 는 base 에포함되어있지않고 doby 라이브러리에있다. 이를설치하는예로패키지설치방법을설명하겠다. 설치가완료되면아래와같이콘솔화면에출력된다. 패키지는한번만설치하면지속적으로사용할수있다. 5

1.3 One Bite 1.3.1 예제학생 5 명의통계학중간고사성적 (M, 80), (M, 70), (F, 90), (F, 85), (F, 95) 을입력하고다음을구하시오. (1) 중간고사평균과분산을구하시오. (2) 성별중간고사평균과분산을구하시오. 맛보기 > 함수 c() 는데이터입력, 문자형데이터의경우에는 혹은 사용 *) 오브젝트 ; 데이터 ( 스칼라, 행렬, 관측치 ), 함수결과가저장되는공간 *) 라인명령어 ; 화살표, 사용하면이전, 이후명령문이나타난다. > = 의의미 : 우측의결과가좌측변수명으로 ( 이를오브젝트, object 라한다 ) 저장된다. > 함수 mean(), sd() 은정의된오브젝트의평균과표준편차를구한다. 맛보기 2 > 함수 library(): 작업에필요한함수가있는라이브러리를로딩함 > 함수 cbind(): 오브젝트를열합치기 > 함수 data.frame(): 오브젝트를데이터셋만들기 *) 옵션 : 내용및사용방법은함수 help() 이용하면된다. > 함수 summsryby(): 범주형변수에의해측정형변수기초통계량구하기, () 안에정의된것은적절한옵션 > +: 프로그램이완료되지않음을의미 6

1.4 메뉴 1.4.1 파일메뉴 > 스크립트 (script); 작업을위한프로그램모임, 일정한작업을프로그램으로저장해놓으면유사작업수행용이 > 작업공간 (workspace); 프로그램수행중만들어진오브젝트, 데이터셋등을저장해두면, R 프로그램재실행후도동일하게사용할수있음 > 이력 (history): 작업수행을위해사용하였던 Line 프로그램을저장, 이전라인프로그램으로가려면화살표 을사용하면된다. > 디렉터리 (directory) 변경 : 외부데이터가있거나스크립트, 이력등을저장하려는폴더지정 > 파일에저장 ; 콘솔내용을텍스트로저장 1.4.2 편집메뉴 > 프로그램이나결과중필요한부분복사, 잘라내기, 붙여넣기 > 콘솔지우기 ; 콘솔에있는내용모두지우기 > 자료편집기 ; 데이터혹은행렬편집, 엑셀과같은스프레드시트형식으로열림 >GUI 설정 : R 의 GUI (Graphic User Interface) 환경설정 7

1.4.3 기타메뉴 > 아이콘바와아래상태바보기 > 필요한패키지설치메뉴 (1.3.1 참고 ) > 열린창보기설정 > 도움말기능 1.4.4 아이콘메뉴메뉴중가장많이사용되는기능을아이콘으로표현하여사용을용이하게함, 아이콘에마우스를놀려놓으면작업내용을표시한다. 다음은두번째아이콘에마우스를올려놓았을때표시된작업내용이다. 1.5 알아두기 1.5.1 오브젝트 (object) 오브젝트는 R 에서모든것이다. (Object is everything) 모든오브젝트는속성을가지고있고이를통하여 R 사용자는 R 과이야기하며, 이곳에모든내용을이곳에저장한다. 오브젝트의형식은숫자형 (numeric), 문자형 (characteristic), 요인 ( 분산분석의요인 ), 논리형 (logical), 실수형 (double), 복소수형 (complex) 등이있다. 8

오브젝트에저장될수있는내용은벡터, 행렬, 데이터, 배열, 리스트, 함수 ( 분석 ) 결과내용등이있으며, 저장하려면기호 <-, = ( 동일한작업내용 ) 을사용한다. 이를오브젝트할당 (assignment) 라한다. 오브젝트활용 > =, <-을사용하면우측작업내용이좌측이름으로오브젝트로저장된다. > 오브젝트내용을보려면오브젝트이름을입력하면된다. > 오브젝트의리스트를보려면함수 ls() 이용한다. > ; 은명령문을나누는역할을한다. 오브젝트이름은영어알파벳, 숫자, 마침표., under-bar _ 등의조합을사용할수있으나, 숫자,., _, -은첫글자로사용할수없다. 그리고내장함수 (sqrt, sin, pi) 이름나명령어로 (for, if, matrix, read.xls) 예약된단어는오브젝트이름으로사용할수없다. R 에서는대소문자구별해야 (case sensitive) 하므로오브젝트이름도동일한적용을받아, ds 와 Ds 는서로다른오브젝트이름이다. 이름길이는충분히길어도되지만가능하면짧고오브젝트내용을인지할수있으면된다. 학생들의성적관련데이터셋이면 scoredataset 보다는 score 혹은 score.ds 가더적절해보인다. 오브젝트를향후에도사용하고싶다면 (workspace) 을이용하여저장해두었다가향후에불러사용하면된다. 필요없는오브젝트를지우려면다음과같이함수 rm() 을사용하면된다. 함수 search() 를사용하면현재작업환경에서구동중인패키지의이름들이리스트된다. 1.5.2. 함수 (function) + 내장함수 (built-in function) R 의라이브러리패키지에는여러함수가내장되어있다. 다음그림은 1.2.2 절에서설치한 doby 패키지에내장된함수와그에대한사용설명도움말 (html 폴더내에있음 ) 화면을캡처한것이다. 9

R 에내장된함수는수학함수, 문자함수, 통계분포함수, 통계함수, 데이터생성함수등이있다. 다음은통계학에서주로사용되는함수중심으로함수명과기능을예제중심으로설명한것이다. + 수학함수 (mathematical function) 함수기능 R 에서실행 abs(x) sqrt(x) x^n 절대값, 제곱근, n 승값 ceiling(x) floor(x) trunc(x) 올림 내림 소수점이하버림 10

round(x, digits=n) cos(), sin(), tan() 소수점 n 자리이하반올림 삼각함수값 log(), log10(), log2() 자연로그값, 상용로그값, 밑이 2 인로그값 x exp() 지수함수값 e prod() choose(n, r), factorial(n) 데이터곱 조합, combination 순열, factorial + 문자함수 (characteristic function) 함수기능 R 에서실행 substr(x, s, e) strsplit(x, sp ) paste() 단어 X 에서 s 자리부터 e 자리까지선택 sp 단어에서단어가나누어짐단어붙이기 toupper(x) tolower(x) 대문자만들기 소문자만들기 sub(r, o, x) 단어 x 에서 o 문자를 r 로대체함 11

+ 통계함수 (statistical function) 함수 기능 R 에서실행 데이터 함수 rnorm(n, m, s) 는평균이 m, 표준편차 s 인정규분포를 따르는데이터 n 개를랜덤하게만든다. 랜덤하게만들때 seed 는실행시각으로할당되므로매번다르게된다. 함수 round() 는값을정수로반올림한다. mean() 평균 10% 절삭평균 ( 상, 하각각 10% 절삭 ) sd(), var() 표준편차, 분산 median() 중위수 quartile(x, p) 사분위값 range() sum(), prod() 범위 합계, 곱 16 (= 5.5 10 ) diff(,lag=t) 앞의숫자 뒤숫자 ( 시차 =t) min(), max() 최소값, 최대값 12

+ 통계분포함수 (statistical distribution function) 함수 기능 d*(x, 모수 ) p*(x, p, 모수 ) q*(p, 모수 ) r*(n, 모수 ) 확률밀도함수확률값, f(x) 분포함수값, F(x) 역분포함수값, F -1 (p) 분포함수따르는데이터 n 개랜덤하게생성 f(x) d*(x)=p F(x)=p*(x) x=q*(p) x 분포이름 R 함수모수 13

사용방법과예제는 1.5.5 스크립트에서설명하기로한다. + 기타함수 (miscellaneous) 함수기능 R 에서실행 seq(s, e, b) 정수 s 부터 e 까지 b 씩증가 rep(a:b, r) rep(a, r) 정수 a 부터 b 까지 r 반복 정수 a 를 r 반복 1.5.3 연산자 (operator) 연산자는스칼라 ( 실수 ), 벡터, 행렬, 데이터오브젝트의계산을위한명령어이다. + 수학연산자 (arithmetic operator) 함수기능 R 에서실행 +, -, *, / 사칙연산 **, ^ 승수연산 %% 나머지 %/% 나눈몫 14

+ 논리연산자 (logical operator) 함수 기능 <, <=, >, >= 조건에서양변의크기대소 == 조건에서양변동일, = 은오브젝트지정에사용!= 조건에서양변다름, & or 양조건중하나참, and 두조건모두참 istrue(x) X 의논리참여부 참이면 TRUE, 거짓이면 FALSE 의값을저장 1.5.4 제어문 (control statement) R 은라인명령문왼쪽에서오른쪽으로, 위에서아래로순서대로실행된다. 이를제어하는문장을제어문이라한다. +FOR 문장 for( 변수 in 연속 ) { 문장 } 연속에지정된값만큼변수값이변화하면서 문장 을반복실행한다. for 활용 > 함수 print() 는괄호안화면출력 > 변수 i=1, 2, 3 인순차적으로증가되면서 {} 문장반복된다. > 함수 length() 는괄호안의데이터크기 > in 에서앞의숫자가더큰경우에는순차적으로감소한다. 15

+WHILE 문장 while( 조건 ) { 문장 } 조건이만족하는동안문장반복실행된다. while 활용 > 값이설정되지않으면 R 내부초기값은 0 이나실제존재하지않는다. 그러므로 0 은출력되지않는다. > i=i+1 은 i 의값을 1 씩증가시킨다. > i 가 3 이되는순간까지반복실행한다. +IF-ELSE 문장 if ( 조건 ) { 문장 } 조건이만족하면문장이실행된다. if-else 활용 > i%%2 는 i 값을 2 로나누었을때나머지값 > 값 i 의 2 로나눈나머지가 0 인경우 i 값을출력하게된다. > if ( 조건 ) { 문장 1} else { 문장 2}; 조건이만족하면문장 1, 그렇지않으면문장 2 을실행 > 함수 cat() 은 print() 와유사하게화면출력기능, 오브젝트뿐아니라문자도출력가능 > \n 은출력시라인바꿈, \b 는탭이동을기능 16

1.5.5 스크립트 (script) 콘솔에서는라인타입명령문입력과실행으로작동하여 Enter 키를입력하지않는한라인에작업한내용은실행되지않는다. 그러므로상이한명령문을연속하여동일라인에입력하고자하면명령문사이에세미콜론 (;) 을사용하면된다. 명령문길이가길어한라인에들어가기못하는경우 (Enter 키를치기전까지는하나의명령문으로 R 은인지하고있음 ) 명령어중간에서 Enter 키를치면커서는다음라인에위치하고 > 대신플러스 (+) 사인이라인첫머리에나타난다. 이전라인명령문을재실행하려면방향키, 을사용하면된다. 라인명령문을향후에도사용하려면을이용하여명령어들을저장한후향후불러사용하면된다. 라인에디터작업환경은다소불편하므로다수의라인명령어들동시에실행하거나원하는함수를만들기, 작업에필요한프로그램작업을위해서는스크립트를활용하는것이좋다. 스크립트는 SAS 의프로그램작업과동일하다. 새로운스크립트만들기는다음과같이하면스크립트창이열린다. 스크립트작업이끝나면스크립트를저장하여다시불러사용하면된다. 저장할때는 R 을확장자사용하는것이적절하다. 이는 R 은다른소프트웨어와는달리확장자 R 이자동으로붙여지지않는다. 그러므로스크립트이름을붙일때는다음과같이이름뒤에확장자까지붙여저장하기를권장한다. 스크립트에작성된프로그램은라인별로실행할수도있으며전체프로그램을한번에실행할수도있다. 실행된명령문은콘솔에명령문과함께결과가출력된다. > 라인별실행 : 커서를명령문라인아무곳에나놓고 CT RL + R 을치면라인명령문이실행되어콘솔에명령문과결과가출력되고커서는다음라인명령문으로이동한다. 커서가마지막라인에있으면더이상아래로이동하지않는다. 17

> 전체스크립트실행 : 아무곳에나놓고 CT RL + A 을입력하면스크립트명령문전체가선택된다. CT RL + R 을치면스크립트전체가실행되어콘솔에나타난다. 스크립트일부만선택하고싶으면마우스로실행원하는부분을선택한후 CT RL + R 을치면된다. 스크립트에서명령문을실행하지않으려면명령문제일앞에 # 표시를하여실행되지않도록한다. 이를주석문 (comment statement) 이라한다. 콘솔내용 스크립트활용 > 라인실행해보자. > 전체실행해보자. 1.5.4 절의 if-else 제어문예제 > 전체실행하면오른쪽결과가콘솔화면에나타난다. 18

스크립트활용 +PLOT() 함수 plot(x, y, main=, sub=, xlim=c(a, b), ylab=, type= ) 산점도그리기 x y main= sub= xlim= ylab= x-축변수지정 y-축변수지정그래프제목그래프아래제목 x-축좌표눈금지정, y 축은 ylim y-축제목지정, x-축은 xlab type= p 관측치점을 으로표현 l 라인으로그리기 b 점과라인모두그리기 c 점선으로그리기 --- o h s n 선과점을동시에그리기히스토그램을선으로형태계산형식의히스토그램그래프사용하지않음 19

산점도그리기 > 그래프창이열리고산점도가그려진다. > 그래프창의크기를원하는크기로조절한후오른쪽마우스버튼을눌러그래프를저장하여사용한다. > 그려진그래프위에회귀직선을그리려면함수 abline() 을이용하면된다. 옵션 col 은직선색을정한다. 20

확률밀도함수그리기 > x=-4, -3.9, -3.8, 0.1 씩증가한다. 작은값으로증가시킨이유는그래프를보다 smoothing 하게그리기위함이다. > x 값이순차적으로 dnorm() 함수에들어가 fx 값이계산된다. > x 의범위를 (-4, 4) 로지정한이유는표준정규분포의경우 (-3, 3) 사이의확률값이 99.9% 이기때문이다. 확률분포함수그리기 > 모수 ( α, β ) 인감마분포의평균은 α / β = 4, 분산은 α / β 2 = 8 > 평균 ± 4*( 표준편차 ) 를범위로하면적절하다. 감마분포확률변수는 0 보다큰값을가지므로음수를구간으로설정할필요는없다. 21

2 개이상그래프동일화면그리기 > 함수 windows() 혹은 x11(); 기존의그래프는없애고새로운그래프창을연다. > 함수 split.screen(); 그래프창을원하는크기로나눈다. c(1,2) 로하면행 1, 열 2 개로나누어 2 개의그래프를한화면에그릴수있다. 이경우화면은 screen(1), screen(2) 가된다. 이산형확률밀도함수 > 함수 dpois(x, λ); 모수 λ ( 평균 =4) 인포아송분포의 x 에서의확률값 > 함수 plot() 에서의 h 옵션은막대형태의히스토그램 22

정규분포겹쳐그리기 > 옵션 lwd 는라인의굵기지정 > x 값이정수만가지고있어 smoothing 이완전하지않음. 23

4 개의그래프 ( 표준정규분포, 누적표준정규분포, 평균 1 인지수분포의확률밀도함수와누적분포함수 ) 를그리는스크립트를작성하시오. 누적분포를그리기위해서는함수 p*() 를사용하면된다. 24

1.5.5 함수만들기원하는작업을하기위하여일련의내장된함수들을이용하거나다수의명령문이필요한경우에는스크립트를이용하면편리함을 1.5.4 절에서언급하였다. 이렇게사용자가작성한스크립트를자신의함수로만들어내장된함수와동일하게사용할수있다. 함수이름 = function ( 모수 ) { 문장 } 모수는스크립트문장내에변하는값 + 모수없는함수 게임함수 > 함수 game() 스크립트를작성한후스크립트전체를선택한후 CTRL+R 로실행한다. 실행된스크립트는콘솔에나타나고오류메시지가있는지확인한다. > 오류메시지가없으면콘솔에서함수 game() 을치면스크립트가실행된다. > runif(1,0,1); (0, 1) 균일분포따르는데이터하나를임의생성한다. > 함수 round(); 정수의반올림, 그러므로 0 과 1 사이의값이 x 에저장된다. > for() 제어문 ; i 는 1 부터 10 까지증가, 게임은 10 번까지할수있음 > 함수 cat( 문장 ); 화면에문장이출력된다. > scan(); 키보드입력값을하나 (nmax=1) 읽어들인후 g 에저장한다. > if( 조건 ) { 문장 }; 조건이맞으면문장이실행된다. > break; 스크립트실행이중단된다. 25

+ 모수있는함수 확률밀도함수그리기함수 > ng(0,1); 평균 0, 표준편차 1 인정규분포가그려진다. > min, max; 확률변수의최소값과최대값지정, 정규분포의경우 ±3σ 영역에 99.9% 확률, 그러므로여유를주는 4σ 사용 > dnorm(x,m,s); 평균이 m, 표준펀차가 s 인정규분포의 x 에서의함수값 1 ( x m) dnorm( x, m, s) = f ( x; m, s) = exp( 2 2π s 2s 2 ) 26

+ 함수저장하기 함수저장 > 스크립트를저장한다. 예를들어작업디렉터리에 ng.r 로저장하였다고하자. > R 을실행한후함수 source() 를이용하여사용자가작성한함수를불러온다. > 함수형식에맞게사용하면된다. 이항분포의정규분포근사를보이는함수 bin2nor(p) 를만드시오. n=5, 10, 20, 50 으로하여 4 개이항확률밀도함수가동일한그래프에그려지게하시오. 27

이항분포 B(n, p=0.1) 이항분포 B(n, p=0.5) 28

1.5.6 에러메시지 R 은사용자의작업명령에오류가발생하면사용자에게오류메시지를즉시알려주므로에러메시지를잘이해하면프로그램작업이용이하다. 다음은 CSV 형식엑셀외부데이터를읽어들이는경우스크립트에서발생하는오류메시지에대한예이다. (1) (2) (3) (1) 사용한함수 read.xls() 가 R 에없거나관련패키지가 (xlsreadwrite) 설치되지않은경우표시되는오류 ( 해결책 ) help() 기능을이용하여함수가있는지확인하거나관련패키지를찾아설치한다. (2) 함수 read.csv() 안의옵션설정이잘못되어나타나는오류 ( 해결책 ) 읽어들일파일이름을지정할때는, 혹은 을사용한다. (3) 지정된폴더에읽어들일파일이없는경우나타나는오류 ( 해결책 ) 메뉴에서메뉴를선택하여데이터파일이있는폴더를지정한다. 29