R-1: R intro. & Objects

Similar documents
PowerPoint 프레젠테이션

MySQL-.. 1

R R ...

Microsoft PowerPoint - MDA 2008Fall Ch2 Matrix.pptx

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

을이용한통계프로그래밍 Jinseog Kim 년 3 월 22 일 1 Assistant Professor, Department of Statistics and Information Science, Dongguk University, Gyeongju, Korea

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

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

요. 우리는 살 수가 없으니게 이게 큰 무슨 전쟁이다 그래가지고서 봉 동면이라고 거기가 말하자면 항구 였거든요. 그때 군인들이 후퇴를 한 거예요. 군인들이 후퇴하면서 활동 못 할 사람들은 다 그냥 죽어버리고 그 나머지 어느 정도 부상당했어도 활 동할 수 있는 사람들은

PowerPoint 프레젠테이션

PowerPoint Presentation

<C6F7C6AEB6F5B1B3C0E72E687770>

1주차_R 기초.hwp

2015 사회과학원여름수학캠프 : 컴퓨터활용실습 (1 일 ) 1 변수함수의그래프확인하기 - R을활용하여 sin 등의그래프확인하기 # 1. f(x)= sin(1/x) f = function(x) sin(1/x) par(mfcol=c(3,1)) x = seq(-2,2,0.

설계란 무엇인가?

Microsoft PowerPoint - ch07 - 포인터 pm0415

R

DocsPin_Korean.pages

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

Microsoft PowerPoint - Java7.pptx

Vector Space Vector space : 모든 n 차원컬럼벡터의집합 : {, :, } (, 2), (2, 5), (-2.4, 3), (2.7, -3.77), (,), 이차원공간을모두채움 : {,, :,, } (2,3,4), (3,2,-5), Vector spa

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


PowerPoint Presentation

thesis

PRO1_02E [읽기 전용]

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

슬라이드 1

강의10

Orcad Capture 9.x

USER GUIDE



DBMS & SQL Server Installation Database Laboratory

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

Microsoft PowerPoint - C++ 5 .pptx

ÀüÀÚÇö¹Ì°æ-Áß±Þ

PowerPoint Presentation

LXR 설치 및 사용법.doc

Ä¡¿ì³»ÁöÃÖÁ¾

1

PowerPoint Presentation

컴파일러

JVM 메모리구조

PowerPoint 프레젠테이션

°¡°Ç6¿ù³»ÁöÃÖÁ¾

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

PowerPoint 프레젠테이션

04_오픈지엘API.key

Chap 6: Graphs

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

C# Programming Guide - Types

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.


Microsoft PowerPoint - R-R1-유충현_ ppt [호환 모드]

초보자를 위한 ADO 21일 완성

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

adfasdfasfdasfasfadf

Microsoft PowerPoint - LA_ch6_1 [호환 모드]

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Secure Programming Lecture1 : Introduction

침입방지솔루션도입검토보고서

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - chap04-연산자.pptx

PowerPoint Presentation

C++ Programming

Chapter 1

PowerPoint Presentation


Intra_DW_Ch4.PDF

untitled

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

PowerPoint 프레젠테이션

Microsoft PowerPoint - Introduction to Google Guava.pptx

2002년 2학기 자료구조

목차 R 의소개 R 의정의, R 의역사, R 의철학, R 의특징, R 패키지시스템 빅데이터분석 빅데이터, 데이터과학그리고과학자 The Marriage of Hadoop and R NexR's Way for Big Data Analysis Etc KRUG(Korean R

PCServerMgmt7

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

초보자를 위한 분산 캐시 활용 전략

chap x: G입력


PowerPoint 프레젠테이션

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

CUDA Programming Tutorial 2 - Memory Management – Matrix Transpose

Microsoft Word - KSR2014S042

#KM-235(110222)

SchoolNet튜토리얼.PDF

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

JAVA PROGRAMMING 실습 02. 표준 입출력




JAVA PROGRAMMING 실습 02. 표준 입출력

슬라이드 제목 없음

MATLAB for C/C++ Programmers

쉽게 풀어쓴 C 프로그래밍

Transcription:

데이터사이언티스트를위한 R-1: R intro. & Objects Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-03-14 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 1 / 35

About R 1 Language for statistical computing and graphics 2 S (AT&T Bell lab.): John Chambers et al. 3 Ihaka and Gentleman at the University of Auckland developed R firstly. 4 Currently, R Development Core Team is developing & maintaining R. 5 Many packages (9422) for statistical computing & graphics see https://www.r-project.org/about.html inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 2 / 35

RStudio Desktop & Server for Linux 1 RStudio: cross-platform open source IDE 2 RStudio-server enables multiusers to remotely access RStudio using a web browser. inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 3 / 35

R/RStudio 의설치 https://www.r-project.org/ https://www.rstudio.com/products/rstudio/download/ inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 4 / 35

inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를 Figure 위한 1:RSTUDIO R-1: R intro. & Objects 2017-03-14 5 / 35 Rstudio 개발자를위한통합환경 (IDE)

Starting R x <- 1 x R consol with RGui or Rstudio ## [1] 1 x <- "hello" x ## [1] "hello" inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 6 / 35

R 의기초용어및유틸리티 object: R 에서자료, 함수, 연산자등객체, 메모리에저장 ls() : 객체들의리스트 x <- 1 y <- 1:10 ls() ## [1] "x" "y" rm(): R 객체를삭제 rm(x,y) ls() ## character(0) inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 7 / 35

R 의기초용어및유틸리티 R 작업공간 (R workspace): R 을이용하여작업하는동안만들어지는객체 (object) 들의모임 (collection) help(): R 객체들에대한도움말을출력, 대신에? 객체명을사용할수있음 help(ls)?ls 작업디렉토리 (working directory) getwd() ## [1] "/home/jskim/work/r-education" #setwd("d:/share/lectures/r-note") 작업공간 (workspace) 저장, 작업디렉토리에는.RData 라는파일이생성된다. save.image() inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 8 / 35

R 의기초용어및유틸리티 R 패키지 : R 의확장기능이용 R 패키지추가설치 search() search() 는설치된 R 패키지들을확인하는명령 ## [1] ".GlobalEnv" "package:cairo" "package:knitr" ## [4] "package:stats" "package:graphics" "package:grdevices" ## [7] "package:utils" "package:datasets" "package:methods" ## [10] "Autoloads" "package:base" inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 9 / 35

R 의기초용어및유틸리티 library(): R 에설치된모든패키지및설명 library() library(package_name): 패키지를현재 R 세션으로로딩 library(mass) # MASS 패키지를로드 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 10 / 35

R 의기초용어및유틸리티 install.packages(): R 에새로운패키지설치 install.packages("stringr") help(),? : 함수및객체에대한도움말 help("ls")?ls inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 11 / 35

기타 객체명표시방법 : 문자, _,., 숫자의조합라인코멘트 : # comments a <- 1 b_1 <- 10 # <- 는 left assignment inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 12 / 35

R 객체 (R objects) R 객체에는아래와같은종류들이있음 1 atomic( 상수 ) 2 vector( 벡터 ) 3 matrix( 행렬 ) 4 list( 리스트 ) 5 data.frame( 데이터프레임 ) 6 function( 함수 ) 7 operator( 연산자 )... R 객체중데이터객체 : atomic, vector, matrix, data.frame 데이터객체 (data object) inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 13 / 35

atomic( 상수 ) 데이터객체의유형 (type) atomic( 상수 ) 데이터객체 1 정수형 (integer) 2 실수형 (double) 3 문자형 (character) 4 논리형 (logical) 5 복소수형 (complex number) Special symbol/values NA : 결측치 Inf, -Inf : 무한대 ( 소 ) (1/0) NaN : Not a Number (0/0) inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 14 / 35

atomic( 상수 ) 데이터객체예제 실수형 (double) / 정수형 (integer) typeof(10l) ## [1] "integer" typeof(10) ## [1] "double" 문자형 (character) typeof("hello World") ## [1] "character" 논리형 (logical) typeof(2 < 4) ## [1] "logical" inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 15 / 35

벡터 (vector) 벡터는하나이상의원소로이루어진자료벡터를구성하는각원소는그유형 (data type) 이동일해야함 (1,2, a, b ) 는잘못된벡터벡터의생성 c(,...,) : 벡터또는상수의연결 : - 연속된정수벡터를생성하는연산자 x1 <- c(1,2,3,4) x3 <- c("aaa", "Baa", "Kim") #character vector x2 <- 10:15 y <- c(x1, 0, x2); y ## [1] 1 2 3 4 0 10 11 12 13 14 15 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 16 / 35

numeric, double, integer, character: 속성이 numeric, double, integer, 혹은 character 인벡터를괄호안의수만큼할당함 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 17 / 35 벡터의생성함수 rep : 반복 rep(2, 10) ## [1] 2 2 2 2 2 2 2 2 2 2 rep(c(1,2), each=5) ## [1] 1 1 1 1 1 2 2 2 2 2 seq : 등차수열생성 seq(0, 1, length=11) ## [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1 에서 9 까지 2 씩증가하는숫자로이루어진벡터를만듬 seq(1, 9, by = 2) ## [1] 1 3 5 7 9

벡터의클래스 numeric: 연속형 factor: 범주형 ordered: 순서있는범주형 Table 1:R 객체의저장모드및스토리지클래스 R code mode(x) class(x) x<-c(1:10) numeric numeric x<-factor(1:10) numeric factor x<-ordered(1:10) numeric ordered factor inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 18 / 35

벡터의 component 를접근 인덱스또는 component 이름이용 x <- c(1, 10, 7) x[c(2:3)] ## [1] 10 7 y <- c(a=1, b=10, c=7) y[c("a", "c")] ## a c ## 1 7 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 19 / 35

matrix( 행렬 ) 2차원자료의저장 : 행 (row) 과열 (column) 으로구성됨 2 3 5 A = 12 31 5 5 13 7 6 35 72 A <- matrix(c(2,12,5,6,3,31,13,35,5,5,7,72), ncol=3); A ## [,1] [,2] [,3] ## [1,] 2 3 5 ## [2,] 12 31 5 ## [3,] 5 13 7 ## [4,] 6 35 72 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 20 / 35

matrix( 행렬 ) 의생성 : matrix() 함수이용 X1 <- matrix(1:20, nrow=2, ncol=5); X1 ## [,1] [,2] [,3] [,4] [,5] ## [1,] 1 3 5 7 9 ## [2,] 2 4 6 8 10 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 21 / 35

matrix( 행렬 ) 의생성 : 대각행렬 (diagonal matrix) 생성 X2 <- diag(1, 5); X2 ## [,1] [,2] [,3] [,4] [,5] ## [1,] 1 0 0 0 0 ## [2,] 0 1 0 0 0 ## [3,] 0 0 1 0 0 ## [4,] 0 0 0 1 0 ## [5,] 0 0 0 0 1 X2 <- diag(10) X2 <- diag(1:10) X2 <- diag(c(1,3,5,7,9)) inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 22 / 35

대각원소 (diagonal elements) 의추출 diag(x2) ## [1] 1 3 5 7 9 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 23 / 35

행렬 / 벡터의결합 열단위결합 x <- c(1,2,3); y <- c(4,5,6) cbind(x,y) ## x y ## [1,] 1 4 ## [2,] 2 5 ## [3,] 3 6 행단위결합 rbind(x,y) ## [,1] [,2] [,3] ## x 1 2 3 ## y 4 5 6 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 24 / 35

행렬연산 곱 (elementwise product) x <- matrix(c(1:6), ncol=3); x ## [,1] [,2] [,3] ## [1,] 1 3 5 ## [2,] 2 4 6 y <- matrix(c(1,-1,2,3,2,-1), ncol=3); y ## [,1] [,2] [,3] ## [1,] 1 2 2 ## [2,] -1 3-1 x*y ## [,1] [,2] [,3] ## [1,] 1 6 10 ## [2,] -2 12-6 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 25 / 35

행렬연산 t(x) 전치행렬 (transpose matrix) ## [,1] [,2] ## [1,] 1 2 ## [2,] 3 4 ## [3,] 5 6 행렬곱 (matrix product) z <- t(x)%*%y; z ## [,1] [,2] [,3] ## [1,] -1 8 0 ## [2,] -1 18 2 ## [3,] -1 28 4 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 26 / 35

행렬연산 역행렬 (matrix inversion) A 가 n n 행렬일때, 아래를만족하는 n n 행렬 B 가존재하면 B 를 A 의역행렬이라고하고 A 1 로표시함 AB = BA = I n(identity) A <- matrix(c(1,2,3,3,0,1,5,4,2), ncol=3); A ## [,1] [,2] [,3] ## [1,] 1 3 5 ## [2,] 2 0 4 ## [3,] 3 1 2 solve(a) ## [,1] [,2] [,3] ## [1,] -0.13333333-0.03333333 0.4 ## [2,] 0.26666667-0.43333333 0.2 ## [3,] 0.06666667 0.26666667-0.2 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 27 / 35

리스트 (list) List 는서로다른 R 오브젝트들을원소 (component) 로가지는오브젝트리스트의원소 상수 / 벡터행렬 / 데이터프레임함수등모든 R 오브젝트 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 28 / 35

리스트의생성 list() 를이용 list(name_1=object_1,..., name_m=object_m) name_1... name_m 은콤포넌트의이름 object_1... 은콤포넌트값 예 : Lst <- list(name="fred", wife="mary", child.ages=c(4,7,9)) Lst ## $name ## [1] "fred" ## ## $wife ## [1] "mary" ## ## $child.ages ## [1] 4 7 9 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 29 / 35

리스트구성요소접근 [[ ]] Lst[[1]] ## [1] "fred" 구성요소이름이있는경우 (named list) Lst[["name"]]; # or Lst$name ## [1] "fred" 서브리스트 (sub-list) Lst[2:3] ## $wife ## [1] "mary" ## ## $child.ages ## [1] 4 7 9 콤포넌트의개수 : length() inseoglength(lst) KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 30 / 35

리스트의결합 c() : 벡터의생성또는결합과동일 list1 <- list(a1=1, b1=1:3) list2 <- list(a2=c("kim", "Park")) c(list1, list2) ## $a1 ## [1] 1 ## ## $b1 ## [1] 1 2 3 ## ## $a2 ## [1] "Kim" "Park" inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 31 / 35

데이터프레임 (data frame) 테이블형태의데이터객체컬럼은벡터, 펙터 (factor) 등서로다른속성을가질수있음변수 ( 열 ) 는길이는모두동일 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 32 / 35

데이터프레임생성 1 data.frame() 함수 name <- c("kim","lee","park","oh") sex <- c('f','m','f','m') income <- c(100,102,300,204) d1 <- data.frame(name=name, gender=sex, incom=income) d1 ## name gender incom ## 1 kim f 100 ## 2 lee m 102 ## 3 park f 300 ## 4 Oh m 204 1 as.data.frame(): 리스트나행렬을데이터프레임으로변환 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 33 / 35

데이터프레임관련함수 앞줄 / 끝줄요약보기 head(d1, 2) #tail(d1) ## name gender incom ## 1 kim f 100 ## 2 lee m 102 변수명출력 / 변수명지정 names(d1) ## [1] "name" "gender" "incom" names(d1)[3] <- "income" 데이터차원출력 nrow(d1) # number of rows ## [1] 4 ncol(d1) # number of columns inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 34 / 35

데이터프레임예제 (iris data) head(iris, 3) ## Sepal.Length Sepal.Width Petal.Length Petal.Width Species ## 1 5.1 3.5 1.4 0.2 setosa ## 2 4.9 3.0 1.4 0.2 setosa ## 3 4.7 3.2 1.3 0.2 setosa names(iris) ## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" ## [5] "Species" dim(iris) ## [1] 150 5 nrow(iris); ncol(iris) ## [1] 150 ## [1] 5 inseog KimDongguk Universityjinseog.kim@gmail.com 데이터사이언티스트를위한 R-1: R intro. & Objects 2017-03-14 35 / 35