함수의 정의 사용자 정의 함수 : 코드의 반복을 줄이기 위한 사용자 정의 함수 function(함수) 생성 시 반환되는 하나의 return 값이 꼭 있어야 합니다. # 함수의 인자는 위치에 맞게 순서대로 작성하거나 이름으로 작성할 수 있습니다. > func func(1,2)[1] 1 2> func(y=2, x=1)[1] 1 2 가변 길이 인자를 가진 함수 : 함수의 인자 개수가 정해지지 않은 경우 > func func func2 func2(1,2,3)[1] 1[1] 2 3 중첩 함수 : 함수 안에 또 다른 함수를 정의 > func f3 f3(1,1)[1] 2> f3(1) # 1 + 3(y=3)[1] 4 Q.# 연습문제 # abs함수와 동일한 사용자 정의함수를 f_abs이름으로 생성> abs(-3) # 절..
연산 수치연산자와 함수 벡터 연산 벡터 연산은 벡터의 요소별로 계산을 수행할 수 있고, 대체적으로 for문 없이도 연산이 가능합니다.(단, if문 제외) 참고: [R] 벡터(vector) > x x + 10 [1] 11 11 12 12 13 13 > x + x [1] 2 2 4 4 6 6 > x == c(1,2,2,3,4,4) [1] TRUE FALSE TRUE FALSE FALSE FALSE 벡터의 산술 연산 > x sum(x) # 합 [1] 330 > mean(x) # 평균 [1] 82.5 > median(x) # 중앙값 [1] 82.5 # sum과 mean 사용 시 주의사항 > help(sum) sum(..., na.rm = FALSE) # 인자가 확장형으로 설계 > sum(1,2,3) # 사용 가..
정규 표현식 정규 표현식은 방대한 데이터에서 원하는 정보만 추출하고 싶을 때 유용하게 사용됩니다. 파이썬에서도 동일하게 적용되니까 알아두면 두루두루 잘 사용할 수 있겠죠!? 문자열 관련 유용한 패키지 stringr도 참고하세요! [R] 문자열 관련 함수 - stringr 패키지, 정규식 1. grep() 함수 : 특정 패턴만 골라내기 grep(패턴, 문자열) stringr 패키지의 str_detect() 함수와 비슷하지만, 인자 부분이 다르죠? grep 함수는 탐색할 대상을 두 번째 인자에 넣어줍니다. > library(stringr) > v1 str_detect(v1, 'ab') [1] TRUE TRUE FALSE FALSE FALSE FALSE > v1[str_detect(v1, 'ab')] [1] ..
문자열 함수 - Stringr 패키지 stringr 패키지는 문자열 데이터를 가공하기 위해 자주 사용되는 유용한 패키지입니다.문자열 치환, 벡터 연산, 함수의 결과를 반복문없이 저장해주는 등 편리한 함수들을 가지고 있습니다. install.packages("stringr")library(stringr) 1. str_detect() 함수 str_detect() 함수는 원소별 패턴 검사를 위해 사용됩니다. 오라클의 like 연산자와 유사하죠. str_detect(대상, 패턴) # 대소구분. 논리값으로 리턴 > v1 str_detect(v1,'a')[1] TRUE TRUE FALSE FALSE FALSE> v1[c(T,T,F,F,F)] # boolean 벡터. 원소에 논리값을 매칭시켜서 true인 값만 색인하..
반복문 반복문의 단짝 조건문 [R] 조건문 - if, else if, ifelse 1. for 문 반복문에서 for문은 반복 횟수를 정할 수 있습니다. for(반복변수 in 횟수) { 반복할 식 } > for (i in c(1:5)) { # 숫자의 개수만큼 벡터의 요소를 i에 넣고 출력 + print(i) + } [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 > for (i in c('a','b','c')) { # 문자의 개수만큼 벡터의 요소를 i에 넣고 출력 + print(i) + } [1] "a" [1] "b" [1] "c" > for (i in c('a','b','c')) { # 문자의 개수만큼 반복 + print(10) + } [1] 10 [1] 10 [1] 10 > for (i in em..
조건문 조건문은 주어진 값에 따라 조건에 맞으면 문장 출력 또는 명령어 수행을 합니다. 참고: 조건문의 단짝 반복문 [R] 반복문 - for, while, next, repeat, exit, break 1. if 문 조건문에서 if문의 장점은 문장 출력과 다른 명령어 수행을 할 수 있다는 점, 단점은 벡터 연산이 불가하고 오로지 하나의 조건에 대해서만 검사가 가능하다는 점 이라고 할 수 있습니다. if ( 조건 ) { (조건이 True일 때 실행될) 문장 또는 명령어 } else { (조건이 False일 때 실행될) 문장 또는 명령어 } > grade if (grade >= 70) { + print('합격') + } else { + print('불합격') + } [1] "합격" > vec1 if (vec..
데이터 타입 변환 함수 as.factor() # 팩터로 변환 (이 경우 factor의 levels 순서는 자동) as.numeric() # 숫자를 저장한 벡터로 변환 as.character() # 문자열을 저장한 벡터로 변환 as.Date() # 문자열을 날짜로 변환 as.matrix() # 행렬로 변환 as.array() # 배열로 변환 as.data.frame() # 데이터 프레임으로 변환 Q. > m1 m1 # 행렬 생성 no name price qty [1,] "1" "apple" "500" "5" [2,] "2" "banana" "200" "2" [3,] "3" "peach" "200" "7" [4,] "4" "berry" "50" "9" > as.data.frame(m1) # 행렬을 데이터 프..
데이터 프레임(date frame) 중요!!! 데이터 프레임은 엑셀 시트와 유사한 표 형태를 가진 데이터 구조입니다. 데이터 프레임은 행, 열 구조로, 각 열은 서로 다른 데이터 타입을 가질 수 있습니다. data.frame(data, stringsAsFactors = T) 데이터 프레임 형성 시 stringsAsFactors 옵션이 default값 TRUE로 설정됩니다.stringsAsFactor 생략 시 문자열은 무조건 팩터로 저장되는데, 그렇게되면 row(행)를 추가할 수 없게됩니다.만일 데이터 프레임을 생성한 후 행을 더 추가할 필요가 있다면 stringsAsFactor 옵션을 FALSE로 해주어야겠죠? 데이터 프레임는 행렬(Matrix)과 출력 결과가 다를 뿐, Key-Value를 갖고 리스트와..