반복문 반복문의 단짝 조건문 [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를 갖고 리스트와..
배열 배열은 동일한 데이터 타입으로 구성된 다차원 데이터구조입니다. Array(데이터, dim = 차원, 차원의 이름)# R : dim=c(행, 열, 층), R에서는 새로운 층이 뒤로 쌓인다면# Python : (층, 행, 열), Python에서는 층이 1번째 인자로, 새로운 층이 앞으로 쌓인다는 것# 배열에서의 연산은 배열의 포맷(데이터 타입, 크기)이 같을 때만 가능합니다. > a1 a1, , 1 # , , 1 은 색인 기호를 의미합니다. (행,열,층) 순이니 1층을 의미하겠죠? [,1] [,2] [,3] [,4] [,5][1,] 1 3 5 7 9[2,] 2 4 6 8 10 , , 2 # 여긴 2층 [,1] [,2] [,3] [,4] [,5][1,] 11 13 15 17 19[2,] 12 14 16 ..
행렬(Matrix) 행렬은 행과 열의 구조를 갖는 2차원 배열을 뜻합니다. 벡터와 같이 동일한 데이터 타입만 허용하고, 숫자 연산이 다른 자료구조보다 빠르기 때문에 주로 숫자 연산을 위해 많이 사용합니다. 하지만 문자도 저장이 가능하답니다! 행렬(Matrix) 생성 > m1 m1 [,1] [,2] [,3] [,4] [,5] [1,] 1 5 9 13 17 [2,] 2 6 10 14 18 [3,] 3 7 11 15 19 [4,] 4 8 12 16 20 > m2 m2 [,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5 [2,] 6 7 8 9 10 [3,] 11 12 13 14 15 [4,] 16 17 18 19 20 # dimnames 는 행, 열의 이름을 지정하는 함수입니다. 다만, li..
리스트(list) 리스트는 Key-value 형태로 저장되는 데이터 형식입니다. key - value name : smith tel : 02)345-6958 sal : 4000 프로그래밍을 해보신 분 이라면, C의 구조체, 파이썬의 딕셔너리와 같은 구조라고 생각하시면 됩니다. 리스트는 벡터와 다르게 서로 다른 데이터 타입을 허용하지만, 리스트의 key 안의 데이터 타입은 같아야 합니다. 분석에서는 자주 사용되지 않지만 알고는 있는게 좋겠죠? 먼저, 벡터로도 리스트를 만들 수 있지만, 데이터 타입이 다르면 만들 수 없고, 따로 이름 지정을 해주어야 합니다. > val1 names(val1) val1 name tel sal "smith" "02)345-6958" "4000" 리스트의 생성 리스트는 층별 구조..
날짜와 시간 오라클에서 SYSDATE 로 현재 시간을 출력했었죠? R 에서도 비슷한 방법으로 현재 시간을 출력할 수 있답니다.Sys.Date() # 날짜를 보여주는 함수 Sys.time() # 날짜와 시간을 보여주는 함수 date() # 날짜와 시간을 영어로 보여주는 함수 R 에서 날짜는 문자열로 해석이 불가능합니다. 오라클에서도 문자를 날짜로 형변환하기 위해 to_date 함수를 사용했었는데, R 에서는 as.Date 를 사용합니다! Oracle to_date('2018/12/01', 'YYYY/MM/DD') R> as.Date('날짜', '날짜 형식') as.Date() 함수는 문자형 데이터를 날짜 형식으로 변환해줍니다. 두 번째 인자인 format 은 생략 가능하지만 의도하지 않은 날짜가 나올 수 ..