행위

R 기본

DB CAFE

Dbcafe (토론 | 기여)님의 2019년 7월 12일 (금) 13:32 판
thumb_up 추천메뉴 바로가기


1 R명령어[편집]


1.1 변수정의[편집]

1.1.1 rm()[편집]

- 변수 삭제

1.1.2 ls()[편집]

- 현재 선언해서 사용중인 변수목록

1.1.3 setwd()[편집]

- 작업파일 위치

1.1.4 getwd()[편집]

- 현재 설정된 파일위치

1.1.5 summary([데이터이름])[편집]

- 최솟값,1/4값,중간값,평균,1/3값,최댓값의 써머리 출력

1.1.6 data()[편집]

- 데이터를 사용하겠다는 선언

1.1.7 str()[편집]

- 데이터 구성/자료형 보기

1.1.8 attach()[편집]

- 변수/데이터 를 메모리에 고정

1.1.9 as.numeric()[편집]

- 데이터를 숫자형으로 변환

1.1.10 detach()[편집]

- 메모리에 선언된 변수 해제


1.2 파일읽기/쓰기[편집]

1.2.1 save(x,file="number.Rdata")[편집]

- x변수값을 "number.Rdata"로 저장

1.2.2 load("number.Rdata")[편집]

- 파일내용읽기

=== sink("output.txt")

=== scan("파일이름",what="디렉토리")

- 설정된 디렉토리에서 파일읽기

=== read.table("output.txt",header=T)

- 테이블 형태로 읽기 - read.table("testdata.txt", header=T)

1.3 CSV읽기[편집]

- read.csv("exeldata.csv")


1.4 데이터형[편집]

1.4.1 y[1,][편집]

- 첫행 읽기

1.4.2 y[,1][편집]

- 1열읽기

1.4.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.4.4 Factor[편집]

- factor()

   - 데이터를 팩터형으로 변환

1.4.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.4.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.4.7 Array[편집]

- 행렬을 2차원으로 확장한것 - x<-array(1:24,dim=c(2,3,4))

1.4.8 List[편집]

- 키,값 형태 데이터 - listdata<- c("A",c(12,21,33))

1.5 반복처리[편집]

1.5.1 rep()[편집]

- rep(1:3,times=2,len=7) - rep(1:3,each=3)

   - 1을 3번,2를 3번,3을 3번 반복

1.5.2 seq()[편집]

- seq(from=1,to=12,by=0.5)

1.6 범위처리[편집]

1.6.1 mean()[편집]

- 평균

1.6.2 range[편집]

- 범위

1.6.3 sort[편집]

- sort(x,decreasing=TRUE)

1.6.4 length[편집]

- 길이

1.7 출력[편집]

1.7.1 cat()[편집]

- cat()

   - 텍스트 출력

1.7.2 print()[편집]

1.7.3 (괄호)[편집]

1.7.4 head()[편집]

1.7.5 tail()[편집]

1.7.6 View()[편집]

- 데이터를 보여주기



1.8 함수[편집]

1.8.1 선언[편집]

fnc_a <- function(){

   x<-10
   y<-20
   result<-x+y
   return(result)

}

1.8.2 사용[편집]

- fnc_a()

1.8.3 함수저장[편집]

- save(fnc_a,fnc_b,fnc_c,x,file="myfunction.Rdata")

   - 1개의 변수,3개의 함수를 Rdata파일에 같이 저장

1.8.4 함수불러오기[편집]

- load("myfunction.Rdata"

   - ls()

1.9 조건문[편집]

1.9.1 runif(1)[편집]

- 0~1사이 난수 1개 생성

1.9.2 if[편집]

- if(x>0) print(x) - if ( ) { .... }ifelse{ .... }else {... }

1.9.3 switch[편집]

- switch(x[3],

 "1" = print("one")

, "2" = print("one") , print("Error") )

1.10 반복문[편집]

1.10.1 for[편집]

- for (i in 1:5) {

   for (j in 1:5) {
    ....
   }

}

1.10.2 while[편집]

- while (i <= 10){

       ....

}


1.10.3 repeat[편집]

- repeat{

   ....
  if(...) break;

}

1.11 연산자[편집]

1.11.1 ![편집]

1.11.2 가감승제[편집]

- + - * /

1.11.3 비교[편집]

- == - !=

1.11.4 그리고[편집]

- &,&&

1.11.5 또는[편집]

- |,||

1.12 기호 =[편집]

1.12.1 [ i ][편집]

- i번째 요소

1.12.2 [ ( i ) ][편집]

- i번째 리스트

1.12.3 x $ a[편집]

- x에서 a컬럼

1.12.4 x $ "a"[편집]

- x에서 a컬럼

1.12.5 x[ i , j ][편집]

- i행 , j열

1.13 문자열[편집]

1.13.1 grep()[편집]

- grep("정규식",x,value-TRUE) - x에서 정규식 문자 찾기

1.13.2 nchar()[편집]

- nchar(x) - 문자열 수를 센다

1.13.3 paste[편집]

- paste(x,y) - 두개 문자열 합치기

1.13.4 substr[편집]

- substr(x,6,8) - 6번째에서 8번째까지 추출

1.13.5 strsplit[편집]

- strsplit(x,split-",") - 콤마기준으로 나누기

1.14 정규식[편집]

1.14.1 \\d[편집]

1.14.2 \\s[편집]

1.14.3 \\w[편집]

1.14.4 \\t[편집]

1.14.5 +[편집]

- 1회이상

1.14.6 ?[편집]

- 0 이거나 1회

1.14.7 *[편집]

- 0회이상

1.14.8 { }[편집]

- 횟수 반복 - {i,j}

   - i ~ j회 반복

1.14.9 [:alnum:][편집]

- 아파벳+숫자 - [:alpha:]

1.14.10 [:blank:][편집]

- 공백

1.14.11 [:cntrl:][편집]

- 제어문자

1.14.12 [:upper:][편집]

- 대문자 - [:lower:]

   - 소문자