본문 바로가기

r14

R_컴퓨팅 - 함수 만들기 R_컴퓨팅 - 함수 만들기 R분석을 하다 보면 데이터 전처리 라든지 그래프 그리기, 혹은 모형 개발/ update 등을 하는데 있어 반복 작업을 하는 경우가 있습니다. 이때 대상 데이터셋이라든지 변수, 혹은 조건 등을 조금씩 바꿔가면서 반복 작업을 (반)자동화 하고 싶을 때 유용하게 사용할 수 있는 것이 사용자 정의 함수 (User Defined Function) 입니다. 만약 사용자 정의 함수를 사용하지 않는다면 특정 부분만 바뀌고 나머지는 동일한 프로그램이 매우 길고 복잡하고 산만하게 늘어세울 수 밖에 없게 됩니다. 반면 사용자 정의 함수를 사용하면 사용자 정의 함수 정의 후에 바뀌는 부분만 깔끔하게 사용자 정의 함수의 입력란에 바꿔서 한줄 입력하고 실행하면 끝입니다. 반복작업이 있다 싶으면 손과 발.. 2019. 2. 15.
R_컴퓨팅 - 프로그래밍 기본 구조[2] - 제어문 , 반복문, 분기문 R_컴퓨팅 - 프로그래밍 기본 구조[2] - 제어문 , 반복문, 분기문 1. 조건문 1) if 문 ● 조건이 적용되는 괄호() 안의 조건이 참이면 실행 조건을 판단 연산자로는 '같다(==)', '같지 않다(!=)', '크거나 같다(>=)', '크다(>)', '작거나 같다( 2019. 2. 14.
R_컴퓨팅 - 프로그래밍 구조[1] 연선자 R_컴퓨팅 - 프로그래밍 구조[1] 연선자 산술 연산자 같은 위치에 있는 원소들끼리 연산 연산자 설명 > 보다 큰 = 보다 크거나 같은 2==2 & c(2==2, 3>4)[1] TRUE FALSE2==2 & 2==2 TRUE2==2 & 3>4 FALSE &&논리곱(and) - 벡터 첫번째 결과만>2==2 && c(2==2, 3>4)[1] TRUE |논리합( or) - 벡터 전체 결과>2!=2 | c(2==2, 3>4)[1] TRUE FALSE2!=2 | 2==2 TRUE2!=2 | 3>4 FALSE ||논리합(or) - 벡터 첫번째 결과만>2!=2 | c(2==2, 3>4)[1] TRUE !논리부정(not) xor( , )둘 중 하나만 거짓일 경우 TRUE isTRUE()벡터의 길이가 1이면서 TRUE일.. 2019. 2. 13.
R_컴퓨팅 - 데이터의 구조[3] 리스트 데이터프레임 R_컴퓨팅 - 데이터의 구조[3] 리스트 데이터프레임리스트리스트 생성행렬과 배열 등이 동일한 형태의 원소로 이루어진 객체인 반면 리스트를 구성하는 성분(component)은 서로 다른 형태의 원소를 가질 수 있고, 길이도 다를 수 있다.속성 설명 length 자료의 개수 mode 자료의 형태 names 각 구성요소의 이름 Exam:list() 함수를 이용하여 두개의 벡터와 한개의 문자열을 가진 리스트를 생성하고 속성울 출련 하라.Solution:>a b klist length(klist) 리스트 추출특정한 성분을 추출하거나 성분 내의 특정원소를 추출하려면 아래와 같은 연산자를 사용 -[[ ]] 를 사용하여 리스트에서의 성분을 추출-성분의 이름이 부여되었다면 $연산자로 구분됨-[ ] 연산자를 사용하여 성분.. 2019. 2. 12.
R_컴퓨팅 - 데이터의 구조[2] 행렬 과 배열 R_컴퓨팅 - 데이터의 구조[2] 행렬 행렬행렬의 주요 속성 속성 설명 length 자료의 개수 mode 자료의 형태 dim 행과 열의 개수 dimnames 행과 열의 이름 행렬의 생성Exam:matrix() 함수를 이용하여 1에서 9까지의 원소를 갖는 3행 3열의 행렬을 생성하라각 행과 열의 이름을 row1, row2, row3, col1, col2, col3로 지정한 뒤 출력하라.Solution:>matr dimnames(matr) matr row1 row2 row3 col1 1 4 7 col2 2 5 8 col3 3 6 9 Exam:위에서 matrix() 함수를 이용하여 생성된 행렬과 동일한 형태의 행렬을 rbind(), cbind(), dim() 항수를 이용하여 만들어라Solution:>r1 r2.. 2019. 2. 11.
R_컴퓨팅 - 데이터의 구조[1] 벡터 R_컴퓨팅 - 데이터의 구조벡터의 입력>#Vector #동일한 유형의 데이터로 구성되어 있는 1차원 데이터 구조>V1 V2 V3 V1[1] 1 2 3>V2[1] "Hello" "R">V3[1] TRUE FALSE >scan(sep=",")1:1, 2, 34:4, 5,6:read 5 items[1] 1 2 3 4 5 NA >seq(from = 1, to = 6, by = 1) #1부터 6까지 1씩 증가 옵션의 위치가 바뀌어도 상관 없음[1] 1 2 3 4 5 6>seq(1, 6, 1) #옵션이 생략되었을 경우 from to by 순서가 default 임# length->나누는 단계(원소의 갯수) , along=1:5 ->1단계부터 5번 실행>seq(from=1, to=10, length=3) [1] 1.0.. 2019. 2. 10.