ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • R 프로그래밍 5 - 수열 만들기(rep,seq)
    데이터분석/R 2021. 1. 3. 21:52
    반응형

    안녕하세요

    오늘은 R 에서 어떻게 수열을 만드는지에 대해서 알아보겠습니다.

     

    수열 만들기

    수열은 무엇일까요?  또는 다른 대상의 순서 있는 나열

     

    R에서 간단하게 수열을 만드는 법에 대해서 알아보도록 하겠습니다.


    - 숫자:숫자

     

    예를 들어 봅시다.

    초기값이 1이고 등차가 1인 수열을 15까지 입력을 해야한다면 여러분은 어떻게 하실건가요?

    A <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)

    이렇게 무식하게 다 넣는 방법도 있습니다. 그런데 이걸 1000까지 늘려야 한다면?

    엄청난 단순노동이 필요하겠죠?

     

    이는 :를 이용해서 간단히 해결할 수 있습니다.

    a <- 1:15

    R에서는 이렇게 코딩을하면 "1부터 순차적으로 1씩 증가해서 15까지 증가시켜라" 가 됩니다.

     

    결과창은 이렇게 나옵니다.

    R 프로그래밍 등차 수열 예시 1

     

    그럼 반대로 15부터 1씩 감소하는 등차수열을 만들어야하면 어떻게 할까요?

    a <- 15:1

    R 프로그래밍 등차 수열 예시 2

    반대로 해주시면 됩니다.

     


    - seq 함수(sequence)

     

    =seq(시작숫자, 끝숫자, by=몇씩증가시킬건지)

    seq함수는 특정 숫자에서 등차수열을 만들때 활용하는 함수 입니다.

     

    그럼 1부터 등차가 2씩 증가하는 수열은 어떻게 만들 수 있을까요?

    seq 함수를 활용해봅시다.

     

    예를 들어 1 부터 등차가 2씩 증가 29까지 증가하는 함수는 어떻게 만들 수 있을까요?

    #from, to 생략
    b <- seq(1,29,by=2)
    
    1: 1부터
    29: 29까지
    by=2: 2씩 증가시켜라
    
    #from, to 문법
    c <- seq(from=1,to=29,by=2)
    
    from=1: 1부터
    to=29: 29까지
    by=2: 2씩 증가시켜라

    from과 to를 활용을 해도 되고 안해도 되는데요.

    활용을 하든 안하든 결과는 같습니다.

     

    R 프로그래밍 seq 함수 예시 


    - rep 함수(repeat)

    rep 함수는 같은 숫자나 문자를 반복해서 수열로 만들어 주는 함수입니다.

    =rep(반복할 숫자벡터, 반복 횟수)

     

    #벡터자체를 3번 반복함
    d <- rep(c(1,2),3)
    
    #each: 각각 원소를 반복함
    e <- rep(c(1,2),each=3)
    
    #time: 벡터자체를 3번 반복함
    f <- rep(c(1,2),times=3)
    
    #문자열도 가능
    g <- rep(c("가나다","라마바"),3)

    위의 코드에 대한 결과

    이런식으로 하나의 백터를 단순히 반복을 해주는 것인데요.

     

    여기서 봐야할것은 each와 times입니다.

     

    each: 각 벡터의 원소를 차례대로 반복

     

    위의 예시

    e <- rep(c(1,2),each=3)

     

    1과 2를 차례대로 3번씩 반복해라 -> 결과 1 1 1 2 2 2

     

    times: 벡터 자체를 반복

     

    위의 예시

    e <- rep(c(1,2),each=3)f <- rep(c(1,2),times=3)

     

    (1, 2) 백터를 3번씩 반복해라 -> 결과 1 2 1 2 1 2

     

    유념해서 활용하면 유용한 함수 입니다!


    마치며

    오늘은 R에서 수열을 만드는 함수에 대해서 알아봤습니다.

    위의 함수는 R프로그래밍 할때 자주 쓰이는 함수로 잘 활용하면 정말로 유용한 함수 입니다.

    반응형

    댓글

Designed by Tistory.