"R 기본"의 두 판 사이의 차이
DB CAFE
(새 문서: # R명령어 ## 변수정의 ### rm() - 변수 삭제 ### ls() - 현재 선언해서 사용중인 변수목록 ### setwd() - 작업파일 위치 ### getwd - 현재 설정된...) |
(→load("number.Rdata")) |
||
(같은 사용자의 중간 판 24개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | # | + | [[Category:R]] |
+ | == R명령어 == | ||
+ | === 파이프 오퍼레이터 (%>%) === | ||
+ | # 파이프 오퍼레이터는 R에서 동일한 데이터를 대상으로 연속으로 작업하게 해주는 오퍼레이터(연산자). | ||
+ | # %>%를 사용하면 함수 간의 관계를 매우 직관적으로 표현 | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! 일반함수 !! R 표현.방법 | ||
+ | |- | ||
+ | | F(x)|| x %>% F | ||
+ | |- | ||
+ | | G(F(x))|| x %>% F %>% G | ||
+ | |} | ||
− | |||
− | ### rm() | + | |
+ | * 예제) | ||
+ | |||
+ | <source lang=r> | ||
+ | x = c(0.3078, 0.2577, 0.5523, 0.0564, 0.4685, | ||
+ | 0.4838, 0.8124, 0.3703, 0.5466, 0.1703) | ||
+ | </source> | ||
+ | |||
+ | 1) 일반 언어에서 처리 | ||
+ | <source lang=c> | ||
+ | x1 = log(x) | ||
+ | x2 = diff(x1) | ||
+ | x3 = exp(x2) | ||
+ | round(x3, 2) | ||
+ | </source> | ||
+ | |||
+ | 2) R 파이프 오퍼레이터로 처리 | ||
+ | <source lang=r> | ||
+ | x %>% log() %>% diff() %>% exp() %>% round(., 2) | ||
+ | </source> | ||
+ | |||
+ | # 맨 왼쪽에는 원하는 변수를 입력 | ||
+ | # %>% 뒤에는 차례대로 계산하고자 하는 함수 입력 | ||
+ | # 변수의 입력값을 ()로 비워둘 경우, 오퍼레이터의 왼쪽에 있는 값이 입력 변수 | ||
+ | # 반면 round()와 같이 입력값이 두 개 이상 필요하면 마침표(.)가 오퍼레이터의 왼쪽 값으로 입력 | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | === 변수정의 === | ||
+ | |||
+ | ===== rm() ===== | ||
- 변수 삭제 | - 변수 삭제 | ||
− | + | ===== ls() ===== | |
- 현재 선언해서 사용중인 변수목록 | - 현재 선언해서 사용중인 변수목록 | ||
− | + | ==== setwd() ==== | |
- 작업파일 위치 | - 작업파일 위치 | ||
− | + | ==== getwd() ==== | |
- 현재 설정된 파일위치 | - 현재 설정된 파일위치 | ||
− | + | ==== summary([데이터이름]) ==== | |
- 최솟값,1/4값,중간값,평균,1/3값,최댓값의 써머리 출력 | - 최솟값,1/4값,중간값,평균,1/3값,최댓값의 써머리 출력 | ||
− | + | ==== data() ==== | |
- 데이터를 사용하겠다는 선언 | - 데이터를 사용하겠다는 선언 | ||
− | + | ==== str() ==== | |
- 데이터 구성/자료형 보기 | - 데이터 구성/자료형 보기 | ||
− | + | ==== attach() ==== | |
- 변수/데이터 를 메모리에 고정 | - 변수/데이터 를 메모리에 고정 | ||
− | + | ==== as.numeric() ==== | |
- 데이터를 숫자형으로 변환 | - 데이터를 숫자형으로 변환 | ||
− | + | ==== detach() ==== | |
- 메모리에 선언된 변수 해제 | - 메모리에 선언된 변수 해제 | ||
+ | ---- | ||
+ | |||
+ | === 예외 처리 === | ||
+ | |||
+ | tryCatch() 함수로 예외처리 하고 넘어갈 수 있음 | ||
+ | <source lang=r> | ||
+ | result = tryCatch({ | ||
+ | ..실행 코드.. | ||
+ | }, warning = function(w) { | ||
+ | # 경고 발생시 | ||
+ | warning-handler-code | ||
+ | }, error = function(e) { | ||
+ | # 에러 발생시 | ||
+ | error-handler-code | ||
+ | }, finally = { | ||
+ | # 무조건 수행 , 생략 가능 | ||
+ | cleanup-code | ||
+ | }) | ||
+ | </source> | ||
− | + | === 파일읽기/쓰기 === | |
− | + | ==== save(x,file="number.Rdata") ==== | |
- x변수값을 "number.Rdata"로 저장 | - x변수값을 "number.Rdata"로 저장 | ||
− | + | ==== load("number.Rdata") ==== | |
− | + | === 파일내용읽기 === | |
− | + | ==== sink("output.txt") ==== | |
− | + | ==== scan("파일이름",what="디렉토리") ==== | |
− | + | === 설정된 디렉토리에서 파일읽기 === | |
− | + | ==== read.table("output.txt",header=T) ==== | |
− | + | === 테이블 형태로 읽기 === | |
− | + | read.table("testdata.txt", header=T) | |
− | + | === CSV읽기 === | |
- read.csv("exeldata.csv") | - read.csv("exeldata.csv") | ||
− | + | ---- | |
− | + | === 데이터형 === | |
+ | |||
+ | ==== y[1,] ==== | ||
- 첫행 읽기 | - 첫행 읽기 | ||
− | + | ==== y[,1] ==== | |
- 1열읽기 | - 1열읽기 | ||
− | + | ==== Vector ==== | |
- v<- -5:5 | - v<- -5:5 | ||
− | + | - -5 ~ 5사이값을 할당 | |
- v<-c(-5,5) | - v<-c(-5,5) | ||
− | + | - -5,5를 할당 | |
- v<-c(-5:5) | - v<-c(-5:5) | ||
92번째 줄: | 155번째 줄: | ||
- vector집합연산 | - vector집합연산 | ||
− | + | - union(x,y) | |
− | + | - 합집합-중복제거 | |
− | + | - intersect | |
− | + | - 차집합 | |
− | + | - setdiff(x,y) | |
− | + | - x기준, y값을 빼준것 | |
− | + | - is.element(2,x) | |
− | + | - 2가 x의 원소인지 검사 | |
− | + | - x<-c(sort(sample(1:99,9))) | |
- 문자형vector | - 문자형vector | ||
− | + | - unique(x) | |
− | + | - match(x,c("A")) | |
− | + | - x의 데이터가 A와 같은지검사하고 같으면 1을 출력,NA는같지않음 | |
− | + | - k<-paste(x[1],x[3]) | |
− | + | - 벡터x에서 첫번째,세번째 문자를 k에 할당 | |
− | + | - paste(x,collapse="%") | |
− | + | - x를 구성하는 문자열을 %로 연결하기 | |
− | + | - paste(x,collapse='') | |
− | + | - x를 구성하는 문자열을 공백없이 연결 | |
− | + | - substring(m,2:5) | |
− | + | - m객체 문자열에서 2~끝,3~끝,4~끝,5~끝 을 출력 | |
− | + | - grep("Co",x) | |
− | + | - x에서 "Co"로 시작하는 것을 찾는다. | |
- 논리형 vector | - 논리형 vector | ||
− | + | - x<- runif(5) | |
− | + | - 0,1 사이의 난수 다섯 개를 만들어 x에 할당 | |
− | + | - any(x>0.9) | |
− | + | - x값이 조건에 맞는지 검사 | |
− | + | - all(x<0.9) | |
− | + | - 모든x의 값들이 0.9보다 작은지 검사 | |
− | + | - is.vector(x) | |
− | + | - is.factor(x) | |
− | + | - 데이터형이 팩터인지 확인 | |
− | + | - x<-rnum(5) | |
− | + | - 평균이 0인 정규분포하는 변수5개를 x에 할당 | |
− | + | ==== Factor ==== | |
- factor() | - factor() | ||
− | + | - 데이터를 팩터형으로 변환 | |
− | + | ==== Matrix ==== | |
- 행렬 | - 행렬 | ||
− | + | - 2차원 동일형 데이터 | |
− | + | - 각 컬럼별 다른형 데이터 할당가능 | |
− | + | - rbind() | |
− | + | - 벡터데이터를 모아서 열 데이터를 구성 | |
− | + | - rbind(array1,array2,array3) | |
− | + | - cbind() | |
− | + | - 행데이터 구성 | |
− | + | - cbind(array1,array2,array3) | |
− | + | - apply() | |
− | + | - 배열,행렬등에 함수를 적용한 결과를 벡터,배열,리스트로 변환 | |
− | + | - apply(x,1,max) | |
− | + | - x데이터 1열의 최대값 | |
− | + | - apply(x,1,sum) | |
− | + | - apply(x,2,mean) | |
− | + | - lapply() | |
− | + | - 결과를 리스트로 반환 | |
− | + | - sapply() | |
− | + | - 결과를 벡터,배열,행렬로 반환 | |
− | + | - sapply(리스트,sum) | |
− | + | - tapply() | |
− | + | - 데이터를 그룹핑한후 함수 적용 | |
− | + | - mapply() | |
− | + | - sapply()확장 | |
− | + | - 여러개 벡터,리스트로인자를 받고 함수에 인자별 적용 결과를 반환 | |
− | + | - mapply(sum,리스트1,리스트2) | |
− | + | - 리스트1+리스트2 | |
− | + | - colnames(x) | |
− | + | - 컬럼 이름을 추가 | |
− | + | - rownames(x) | |
− | + | - 로우 이름을 추가 | |
− | + | - colSums(x) | |
− | + | - 컬럼의합 | |
− | + | - rowSums(x) | |
− | + | - 로우의 합 | |
− | + | - matrix(x,nrow=3) | |
− | + | - x데이터 열을 3으로 분리하여 행렬 구성 | |
− | + | - 데이터를 매트릭스형으로 만들기 함수 | |
− | + | - 매트릭스변수x * 3 은? | |
− | + | - 매트릭스 전체에 2를 곱한다. | |
− | + | - matrix(1:12,nrow=3,dimnames=list(c("R1","R2","R3"),c("C1","C2","C3","C4"))) | |
− | + | - colSums(x) | |
− | + | - 행렬데이터x의 컬럼 합 | |
− | + | - rowSums(x) | |
− | + | - 행렬데이터x의 로우 합 | |
− | + | - colMeans | |
− | + | - rowMeans | |
− | + | ==== Data Frame ==== | |
- data.frame() | - data.frame() | ||
- 예시 | - 예시 | ||
− | + | - 데이터만들기 | |
+ | <source lang=r> | ||
+ | no<- c(1,2,3,4) | ||
+ | name<- c("A","B","C","D") | ||
+ | ages<-c(52,53,54,55) | ||
+ | sex<-c("M","M","F","M") | ||
+ | </source> | ||
+ | - 데이터프레임으로 변환 | ||
+ | <source lang=r> | ||
+ | Insa<-data.frame(No=no,Name=name,Age=ages,Sex=sex) | ||
+ | </source> | ||
+ | - 데이터처리 | ||
+ | <source lang=r> | ||
+ | insa[1,] | ||
+ | Insa[,2:4] | ||
+ | Insa[,-3] | ||
+ | </source> | ||
− | + | ==== Array ==== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
- 행렬을 2차원으로 확장한것 | - 행렬을 2차원으로 확장한것 | ||
- x<-array(1:24,dim=c(2,3,4)) | - x<-array(1:24,dim=c(2,3,4)) | ||
− | + | ==== List ==== | |
- 키,값 형태 데이터 | - 키,값 형태 데이터 | ||
- listdata<- c("A",c(12,21,33)) | - listdata<- c("A",c(12,21,33)) | ||
− | + | === 반복처리 === | |
− | + | ==== rep() ==== | |
- rep(1:3,times=2,len=7) | - rep(1:3,times=2,len=7) | ||
- rep(1:3,each=3) | - rep(1:3,each=3) | ||
− | + | - 1을 3번,2를 3번,3을 3번 반복 | |
− | + | ==== seq() ==== | |
- seq(from=1,to=12,by=0.5) | - seq(from=1,to=12,by=0.5) | ||
− | + | === 범위처리 === | |
− | + | ==== mean() ==== | |
- 평균 | - 평균 | ||
− | + | ==== range ==== | |
- 범위 | - 범위 | ||
− | + | ==== sort ==== | |
- sort(x,decreasing=TRUE) | - sort(x,decreasing=TRUE) | ||
− | + | ==== length ==== | |
- 길이 | - 길이 | ||
− | + | === 출력 === | |
− | + | ==== cat() ==== | |
- cat() | - cat() | ||
− | + | - 텍스트 출력 | |
− | + | ==== print() ==== | |
− | + | ==== (괄호) ==== | |
− | + | ==== head() ==== | |
− | + | ==== tail() ==== | |
− | + | ==== View() ==== | |
- 데이터를 보여주기 | - 데이터를 보여주기 | ||
− | |||
− | + | ---- | |
+ | === 함수 === | ||
+ | |||
+ | ==== 선언 ==== | ||
+ | <source lang=r> | ||
fnc_a <- function(){ | fnc_a <- function(){ | ||
x<-10 | x<-10 | ||
344번째 줄: | 411번째 줄: | ||
return(result) | return(result) | ||
} | } | ||
+ | </source> | ||
− | + | ==== 사용 ==== | |
- fnc_a() | - fnc_a() | ||
− | + | ==== 함수저장 ==== | |
- save(fnc_a,fnc_b,fnc_c,x,file="myfunction.Rdata") | - save(fnc_a,fnc_b,fnc_c,x,file="myfunction.Rdata") | ||
− | + | - 1개의 변수,3개의 함수를 Rdata파일에 같이 저장 | |
− | + | ==== 함수불러오기 ==== | |
- load("myfunction.Rdata" | - load("myfunction.Rdata" | ||
− | + | - ls() | |
− | + | === 조건문 === | |
− | + | ==== runif(1) ==== | |
- 0~1사이 난수 1개 생성 | - 0~1사이 난수 1개 생성 | ||
− | + | ==== if ==== | |
+ | <source lang=r> | ||
+ | -- 한줄 처리 | ||
+ | if(x>0) print(x) | ||
+ | |||
− | + | if ( ) { | |
− | + | .... | |
− | }ifelse{ .... | + | } |
− | }else {... | + | ifelse{ |
+ | .... | ||
+ | }else { | ||
+ | .... | ||
} | } | ||
+ | </source> | ||
− | + | ==== switch ==== | |
− | + | <source lang=r> | |
− | + | switch(x[3], | |
"1" = print("one") | "1" = print("one") | ||
, "2" = print("one") | , "2" = print("one") | ||
, print("Error") | , print("Error") | ||
) | ) | ||
+ | </source> | ||
− | + | === 반복문 === | |
− | + | ==== for ==== | |
− | + | <source lang=r> | |
− | + | for (i in 1:5) { | |
for (j in 1:5) { | for (j in 1:5) { | ||
.... | .... | ||
} | } | ||
} | } | ||
+ | </source> | ||
− | + | ==== while ==== | |
− | + | <source lang=r> | |
− | + | while (i <= 10){ | |
.... | .... | ||
} | } | ||
+ | </source> | ||
− | + | ==== repeat ==== | |
− | + | <source lang=r> | |
− | + | repeat{ | |
− | |||
.... | .... | ||
if(...) break; | if(...) break; | ||
} | } | ||
+ | </source> | ||
− | + | === 연산자 === | |
− | + | ==== ! ==== | |
− | + | ==== 가감승제 ==== | |
- + - * / | - + - * / | ||
− | + | ==== 비교 ==== | |
- == | - == | ||
- != | - != | ||
− | + | ==== 그리고 ==== | |
- &,&& | - &,&& | ||
− | + | ==== 또는 ==== | |
- |,|| | - |,|| | ||
− | + | === 기호 ==== | |
− | + | ==== [ i ] ==== | |
- i번째 요소 | - i번째 요소 | ||
− | + | ==== [ ( i ) ] ==== | |
- i번째 리스트 | - i번째 리스트 | ||
− | + | ==== x $ a ==== | |
- x에서 a컬럼 | - x에서 a컬럼 | ||
− | + | ==== x $ "a" ==== | |
- x에서 a컬럼 | - x에서 a컬럼 | ||
− | + | ==== x[ i , j ] ==== | |
- i행 , j열 | - i행 , j열 | ||
− | + | === 문자열 === | |
− | + | ==== grep() ==== | |
- grep("정규식",x,value-TRUE) | - grep("정규식",x,value-TRUE) | ||
- x에서 정규식 문자 찾기 | - x에서 정규식 문자 찾기 | ||
− | + | ==== nchar() ==== | |
- nchar(x) | - nchar(x) | ||
- 문자열 수를 센다 | - 문자열 수를 센다 | ||
− | + | ==== paste ==== | |
- paste(x,y) | - paste(x,y) | ||
- 두개 문자열 합치기 | - 두개 문자열 합치기 | ||
− | + | ==== substr ==== | |
- substr(x,6,8) | - substr(x,6,8) | ||
- 6번째에서 8번째까지 추출 | - 6번째에서 8번째까지 추출 | ||
− | + | ==== strsplit ==== | |
- strsplit(x,split-",") | - strsplit(x,split-",") | ||
- 콤마기준으로 나누기 | - 콤마기준으로 나누기 | ||
− | + | === 정규식 === | |
− | + | ==== \\d ==== | |
− | + | ==== \\s ==== | |
− | + | ==== \\w ==== | |
− | + | ==== \\t ==== | |
− | + | ==== + ==== | |
- 1회이상 | - 1회이상 | ||
− | + | ==== ? ==== | |
- 0 이거나 1회 | - 0 이거나 1회 | ||
− | + | ==== * ==== | |
- 0회이상 | - 0회이상 | ||
− | + | ==== { } ==== | |
- 횟수 반복 | - 횟수 반복 | ||
- {i,j} | - {i,j} | ||
− | + | - i ~ j회 반복 | |
− | + | ==== [:alnum:] ==== | |
- 아파벳+숫자 | - 아파벳+숫자 | ||
- [:alpha:] | - [:alpha:] | ||
− | + | ==== [:blank:] ==== | |
- 공백 | - 공백 | ||
− | + | ==== [:cntrl:] ==== | |
- 제어문자 | - 제어문자 | ||
− | + | ==== [:upper:] ==== | |
- 대문자 | - 대문자 | ||
- [:lower:] | - [:lower:] | ||
− | + | - 소문자 | |
− | |||
− |
2021년 1월 8일 (금) 17:24 기준 최신판
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 R명령어[편집]
1.1 파이프 오퍼레이터 (%>%)[편집]
- 파이프 오퍼레이터는 R에서 동일한 데이터를 대상으로 연속으로 작업하게 해주는 오퍼레이터(연산자).
- %>%를 사용하면 함수 간의 관계를 매우 직관적으로 표현
일반함수 | R 표현.방법 |
---|---|
F(x) | x %>% F |
G(F(x)) | x %>% F %>% G |
- 예제)
x = c(0.3078, 0.2577, 0.5523, 0.0564, 0.4685,
0.4838, 0.8124, 0.3703, 0.5466, 0.1703)
1) 일반 언어에서 처리
x1 = log(x)
x2 = diff(x1)
x3 = exp(x2)
round(x3, 2)
2) R 파이프 오퍼레이터로 처리
x %>% log() %>% diff() %>% exp() %>% round(., 2)
- 맨 왼쪽에는 원하는 변수를 입력
- %>% 뒤에는 차례대로 계산하고자 하는 함수 입력
- 변수의 입력값을 ()로 비워둘 경우, 오퍼레이터의 왼쪽에 있는 값이 입력 변수
- 반면 round()와 같이 입력값이 두 개 이상 필요하면 마침표(.)가 오퍼레이터의 왼쪽 값으로 입력
1.2 변수정의[편집]
1.2.1 rm()[편집]
- 변수 삭제
1.2.2 ls()[편집]
- 현재 선언해서 사용중인 변수목록
1.2.3 setwd()[편집]
- 작업파일 위치
1.2.4 getwd()[편집]
- 현재 설정된 파일위치
1.2.5 summary([데이터이름])[편집]
- 최솟값,1/4값,중간값,평균,1/3값,최댓값의 써머리 출력
1.2.6 data()[편집]
- 데이터를 사용하겠다는 선언
1.2.7 str()[편집]
- 데이터 구성/자료형 보기
1.2.8 attach()[편집]
- 변수/데이터 를 메모리에 고정
1.2.9 as.numeric()[편집]
- 데이터를 숫자형으로 변환
1.2.10 detach()[편집]
- 메모리에 선언된 변수 해제
1.3 예외 처리[편집]
tryCatch() 함수로 예외처리 하고 넘어갈 수 있음
result = tryCatch({
..실행 코드..
}, warning = function(w) {
# 경고 발생시
warning-handler-code
}, error = function(e) {
# 에러 발생시
error-handler-code
}, finally = {
# 무조건 수행 , 생략 가능
cleanup-code
})
1.4 파일읽기/쓰기[편집]
1.4.1 save(x,file="number.Rdata")[편집]
- x변수값을 "number.Rdata"로 저장
1.4.2 load("number.Rdata")[편집]
1.7 테이블 형태로 읽기[편집]
read.table("testdata.txt", header=T)
1.8 CSV읽기[편집]
- read.csv("exeldata.csv")
1.9 데이터형[편집]
1.9.1 y[1,][편집]
- 첫행 읽기
1.9.2 y[,1][편집]
- 1열읽기
1.9.3 Vector[편집]
- v<- -5:5
- -5 ~ 5사이값을 할당
- v<-c(-5,5)
- -5,5를 할당
- v<-c(-5:5) - v<-seq(from=-5,to=5,by=1) - vector집합연산
- union(x,y)
- 합집합-중복제거
- intersect
- 차집합
- setdiff(x,y)
- x기준, y값을 빼준것
- is.element(2,x)
- 2가 x의 원소인지 검사
- x<-c(sort(sample(1:99,9)))
- 문자형vector
- unique(x) - match(x,c("A"))
- x의 데이터가 A와 같은지검사하고 같으면 1을 출력,NA는같지않음
- k<-paste(x[1],x[3])
- 벡터x에서 첫번째,세번째 문자를 k에 할당
- paste(x,collapse="%")
- x를 구성하는 문자열을 %로 연결하기
- paste(x,collapse=)
- x를 구성하는 문자열을 공백없이 연결
- substring(m,2:5)
- m객체 문자열에서 2~끝,3~끝,4~끝,5~끝 을 출력
- grep("Co",x)
- x에서 "Co"로 시작하는 것을 찾는다.
- 논리형 vector
- x<- runif(5)
- 0,1 사이의 난수 다섯 개를 만들어 x에 할당
- any(x>0.9)
- x값이 조건에 맞는지 검사
- all(x<0.9)
- 모든x의 값들이 0.9보다 작은지 검사
- is.vector(x) - is.factor(x)
- 데이터형이 팩터인지 확인
- x<-rnum(5)
- 평균이 0인 정규분포하는 변수5개를 x에 할당
1.9.5 Matrix[편집]
- 행렬
- 2차원 동일형 데이터 - 각 컬럼별 다른형 데이터 할당가능 - rbind()
- 벡터데이터를 모아서 열 데이터를 구성 - rbind(array1,array2,array3)
- cbind()
- 행데이터 구성 - cbind(array1,array2,array3)
- apply()
- 배열,행렬등에 함수를 적용한 결과를 벡터,배열,리스트로 변환 - apply(x,1,max)
- x데이터 1열의 최대값
- apply(x,1,sum) - apply(x,2,mean)
- lapply()
- 결과를 리스트로 반환
- sapply()
- 결과를 벡터,배열,행렬로 반환 - sapply(리스트,sum)
- tapply()
- 데이터를 그룹핑한후 함수 적용
- mapply()
- sapply()확장
- 여러개 벡터,리스트로인자를 받고 함수에 인자별 적용 결과를 반환 - mapply(sum,리스트1,리스트2)
- 리스트1+리스트2
- colnames(x)
- 컬럼 이름을 추가
- rownames(x)
- 로우 이름을 추가
- colSums(x)
- 컬럼의합
- rowSums(x)
- 로우의 합
- matrix(x,nrow=3)
- x데이터 열을 3으로 분리하여 행렬 구성 - 데이터를 매트릭스형으로 만들기 함수 - 매트릭스변수x * 3 은?
- 매트릭스 전체에 2를 곱한다.
- matrix(1:12,nrow=3,dimnames=list(c("R1","R2","R3"),c("C1","C2","C3","C4")))
- colSums(x)
- 행렬데이터x의 컬럼 합
- rowSums(x)
- 행렬데이터x의 로우 합
- colMeans - rowMeans
1.9.6 Data Frame[편집]
- data.frame() - 예시
- 데이터만들기
no<- c(1,2,3,4)
name<- c("A","B","C","D")
ages<-c(52,53,54,55)
sex<-c("M","M","F","M")
- 데이터프레임으로 변환
Insa<-data.frame(No=no,Name=name,Age=ages,Sex=sex)
- 데이터처리
insa[1,]
Insa[,2:4]
Insa[,-3]
1.9.7 Array[편집]
- 행렬을 2차원으로 확장한것 - x<-array(1:24,dim=c(2,3,4))
1.9.8 List[편집]
- 키,값 형태 데이터 - listdata<- c("A",c(12,21,33))
1.11 범위처리[편집]
1.11.1 mean()[편집]
- 평균
1.11.2 range[편집]
- 범위
1.11.3 sort[편집]
- sort(x,decreasing=TRUE)
1.11.4 length[편집]
- 길이
1.12 출력[편집]
1.12.2 print()[편집]
1.12.3 (괄호)[편집]
1.12.4 head()[편집]
1.12.5 tail()[편집]
1.12.6 View()[편집]
- 데이터를 보여주기
1.13 함수[편집]
1.13.1 선언[편집]
fnc_a <- function(){
x<-10
y<-20
result<-x+y
return(result)
}
1.13.2 사용[편집]
- fnc_a()
1.14 조건문[편집]
1.14.1 runif(1)[편집]
- 0~1사이 난수 1개 생성
1.14.2 if[편집]
-- 한줄 처리
if(x>0) print(x)
if ( ) {
....
}
ifelse{
....
}else {
....
}
1.14.3 switch[편집]
switch(x[3],
"1" = print("one")
, "2" = print("one")
, print("Error")
)
1.15 반복문[편집]
1.15.1 for[편집]
for (i in 1:5) {
for (j in 1:5) {
....
}
}
1.15.2 while[편집]
while (i <= 10){
....
}
1.15.3 repeat[편집]
repeat{
....
if(...) break;
}
1.16 연산자[편집]
1.16.1 ![편집]
1.16.2 가감승제[편집]
- + - * /
1.16.3 비교[편집]
- == - !=
1.16.4 그리고[편집]
- &,&&
1.16.5 또는[편집]
- |,||
1.17 기호 =[편집]
1.17.1 [ i ][편집]
- i번째 요소
1.17.2 [ ( i ) ][편집]
- i번째 리스트
1.17.3 x $ a[편집]
- x에서 a컬럼
1.17.4 x $ "a"[편집]
- x에서 a컬럼
1.17.5 x[ i , j ][편집]
- i행 , j열
1.18 문자열[편집]
1.18.1 grep()[편집]
- grep("정규식",x,value-TRUE) - x에서 정규식 문자 찾기
1.18.2 nchar()[편집]
- nchar(x) - 문자열 수를 센다
1.18.3 paste[편집]
- paste(x,y) - 두개 문자열 합치기
1.18.4 substr[편집]
- substr(x,6,8) - 6번째에서 8번째까지 추출
1.18.5 strsplit[편집]
- strsplit(x,split-",") - 콤마기준으로 나누기