본문 바로가기

study/빅데이터 분석

[R프로그래밍] #5. 조건제어문, 함수

조건문

1. if

조건에 따라 문장을 선택적으로 실행

if (조건식) { 참일 때 수행할 문장 } else { 거짓일때 수행할 문장 }

if (조건식) { 참일 때 수행할 문장 } else if { 앞 문장이 거짓일때 수행할 문장 } else { 모두 거짓일때 수행할 문장 }

2. ifelse

다수의 데이터에 대한 조건을 한꺼번에 처리할 때 사용

벡터의 경우 if문을 그대로 사용한다면 첫번째 요소에만 적용하여 실행

ifelse (조건대상,참일때 실행문장,거짓일때 실행문장)

ifelse(조건식,참,ifelse(조건식,참,거짓)) #으로도 사용 가능

 

반복문

1.for

한 개 이상의 문장을 특정횟수만큼 반복처리 형식

for (변수명 in 반복횟수){ 
   반복할 실행 문장 
}

 

2. while

조건이“참”인 동안 블록을 반복실행

조건이 TRUE라면 무한 loop --> break로 멈출 수 있다.

while (조건){
  반복할 실행 문장
}

 3. repeat

블록안의 문장을 반복실행

반복영역 안에서 if 조건을 지정하여 해당 조건에 만족되는 경우 loop를 벗어나도록 break문 사용

repeat{
  반복할 실행 문장
}

 

함수

특정한 작업을 독립적으로 수행하는 프로그램 코드의 집합체

#R에서 많이 사용하는 내장함수

mean() #평균값을 계산 
min() #최소값,
max() #최대값을 계산
sum() #합계를 계산 
median() #중위수 계산
sd() #표준편차를 계산 
cor() #상관계수 계산
var() #분산 계산 
range() #범위를 계산
sort() #정렬작업 수행 
rev() #요소의 나열순서를 반대로 표시

 

1. apply() 함수

벡터, 행렬 ,데이터프레임 등에서 행/열 단위의 필요한 계산작업을 쉽게 하는데 유용한 함수

apply(대상객체,1(행) 또는 2(열),적용할함수)
tapply(벡터,인덱스,사용할함수)

#예제
apply(df, 2, mean, na.rm=TRUE)
#na.rm=TRUE : 결측값을 무시하고 계산한다.
tapply(dflist$나이,dflist$성별,mean,simplify=FALSE)
#simplify=FALSE : 벡터 형식으로 출력 / TRUE라면 matrix 출력

- lapply() – 계산결과를 list형태로 변환하여 출력

- sapply() – 계산결과를 벡터형태로 변환하여 출력

- tapply() –계산결과를 특정부분으로 그룹화하여 출력

 

 

 

2. 사용자 정의함수

프로그램에 반복적으로 사용되는 특별한 계산식을 직접 작성

함수이름 <- function(인자) {함수의 몸체 ..return(반환값)}
#인자는 있을수도 있고 없을수도 있음

#예시
writeFunc<-function(msg){
writeLines(msg)
}

 

3. 외부파일에 정의한 함수 사용

source함수를 이용하여 외부에서 정의한 함수파일을 가져와서 사용한다.

source("C:\\Users\\이정민\\Desktop\\R\\자료\\calc.txt") #함수 저장 파일 불러오기
a<-c(35,77,155,50,67)
calc(a)