-----------------------------------------------------------------------

내 첫 블로그 게시글! 

천문학과를 졸업하여 현재는 의료데이터를 만지면서 놀고있지만

나에게도 남들에게도 조금은 도움이 되는 일을 해보고자

데이터사이언스 관련글을 블로그로 남기기로 했다!

사실 나도 잘 모른다! 하면서 배우는거일 것이니,,

----------------------------------------------------------------------- 

#출처: r을 이용한 데이터분석 실무, 지은이: 서민구

 

 

R 변수



  1. 변수를 다룰 때 큰 틀의 특징

    1. 1부터 counting

    2. 언제나 위에서 아래로 row가 기준

      1. 행렬 내의 순서를 제외 (위에서 아래로 -> 열 기준)

    3. 각함수의 사용법은 ‘?함수’를 통해 search

    4. 데이터 프레임 형식의 dimension이 1이 되면 자동으로 벡터형으로 변환, 떨굼

      1. 이를 방지하려면 drop= FALSE로 지정

 

  1. 변수

    1. 되도록 ‘=’보다 ‘<-’를 권장, 에러가 나기 때문에

    2. 주로 벡터형이 기본

  2. 기본 함수

    1. dim(): dimension

    2. str(): data type

    3. class(): class type

    4. head(): 6 lines of the date from the first line

    5. rm(list=ls()): 저장된 변수 제거

 

  1. factor

    1. 범주형 변수를 위한 데이터타입

      1. ordered=TRUE  -> 순서가 있는 범주형으로 인식

      2. ex) sex <- factor(c(‘a’,’b’),ordered = TRUE)

 

  1. vector

    1. r에서 데이터의 기본형, 중첩이 불가능 -> 이 때, list를 사용

    2. seq(start,end,by)

      1. vector의 이름 붙여주는 함수: names(vector)

      2. seq_len(N): 1~N까지 숫자형 벡터 반환

      3. seq_along(vector): vector길이만큼의 1~길이까지의 숫자형 벡터 반환

    3. rep(start:end,repeat number)

      1. ex) rep(1:3,2) -> c(1,2,3,1,2,3)

    4. rep(start:end,each=N)

      1. 각각 N회 반복됨

      2. ex) rep(1:2, each=3) -> c(1,1,1,2,2,2)

    5. indexing: 벡터의 요소에 접근하기

      1. 숫자접근/벡터/이름 접근 가능

        1. ex) x[1]= 1

        2. x[-1]: 첫번째 요소를 제외하고 반환

        3. python과 다름 ‘-’기호는 제외를 의미

        4. ex) x[1:3]

        5. ex) x[c(1,2,3)]

        6. ex) x[Sepal.Length]

    6. vector 길이

      1. length(), NROW(): 벡터의 길이

      2. nrow(): 행렬에서만만 가능 (길이)

    7. vector 연산

      1. %in%: 벡터안에 그 값이 있나 확인

      2. 차집합: setdiff(c(1,2,3),c(1,3)) -> c(2)

      3. 합집합: union(c(1,2,3),c(4)) -> c(1,2,3,4)

      4. 교집합: intersect(c(1,2,3),c(2,3)) -> c(2,3)

      5. 집합간 비교: setequal(c(1,2,3),c(1,2,3,4)) -> TRUE

 

  1. list: N차원 벡터

    1. 다른 언어에서 흔히보는 dictionary에 해당, (키,값)을 담는 associated array(연관배열)이다.

    2. ex) x <- list(name=’foo’,height=c(50,30,50))

    3. x[[1]] -> ‘foo’

    4. x[1] -> name

 

  1. matrix

    1. 모든 요소가 숫자일때만 사용가능함

    2. ex) matrix(1:9,nrow=3)

      1. 첫번째 자리는 vector형식이면 다 들어가도된다.

      2. 이럴 때, column기준으로 숫자가 채워지는데 row를 기준으로 하고 싶다면 byrow=TRUE로 켜주면 된다. 

      3. ex) matrix(1:9,nrow=3,byrow=TRUE)

    3. matrix의 행과 열에 이름 부여

      1. matrix(1:9,nrow=3,dimnames=list(c(‘row1’,’row2’,’row3’),c(‘col1’,’col2’,’col3’))

    4. indexing

      1. 숫자와 행렬로 indexing할때는 row나 column 둘 중 하나만 사용해도 되고 둘 다 사용해도 됨, 하지만 name으로 indexing하는 경우 둘 다 채워줘야 함

    5. 연산

      1. 곱셈 *, 나눗셈 /, 덧셈 +, 뺄셈 -

      2. 행렬끼리의 곱셈 %*%

      3. 역행렬 solve(matrix)

      4. 대각행렬:t() 

      5. 행렬차원: ncol(), nrow()

 

  1. array(배열)

    1. N차원 행렬

      1. ex) array(1:12,dim=c(2,2,3))

    2. 차원을 알고 싶을 때: dim(vector,matrix,array)

 

  1. data frame 

    1. 가장 중요한 자료형, 행렬과 마찬지의 모습이지만 관측치와 범주등을 표현하기에 특화되어 있음

    2. a <- data.frame(x=c(1,2,3,4),y=c(2,3,4,5)) 기본 표현법

    3. data.frame에 열을 추가 하고 싶을 때 -> a$z = 1:4

    4. 데이터 차원이 1차원으로 변경되어 자동으로 벡터 변환이 되는 것이 싫을 때

      1. drop= FALSE 사용

      2. ex) a[1,,drop=FALSE]

    5. 데이터 형을 보고 싶을 때 -> str(data frame name)

    6. 일부분만 살펴보기 위해 -> head(data frame name)

    7. 칼럼명이 있는지 찾아보기

      1. 칼럼명 b,c가있는지 찾아보기: a[,names(a) %in% c(‘b’,’c’)

 

  1. 데이터 타입 판별 및 변환

    1. 판별 -> class(),is.numeric(), is.matrix()

    2. 변환 -> matrix, list를 data.frame으로 변환할때는, data.frame안에 넣으면 됨

      1. ex) data.frame(matrix(c(1,2,3),ncol=3))

변환 as함수 -> as.numeric, as.factor, as.data.frame, as.matrix

'R > 기초' 카테고리의 다른 글

R 새로운 종류의 Plot  (0) 2019.08.13
R 데이터 plot 함수  (0) 2019.08.13
R 데이터 조작 II  (0) 2019.08.13
R 데이터 조작 I  (0) 2019.08.12
R에서 사용하는 제어문, 함수, 그에따른 연산  (0) 2019.08.12

+ Recent posts