행위

R 기본

DB CAFE

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:]

   - 소문자