R/R basic

연속된 숫자 만들기 rep 함수

시키테이 2022. 6. 21. 00:58
반응형

숫자가 연속되게 나오는 데 가장 유용한 함수가 rep함수인데, 의외로 쓸 데가 많다. 예를 들어

 

rep(1:5)

이렇게 하면, 1, 2, 3, 4, 5가 나오는거고, 

이걸 만약 10번 반복하고 싶다. 그러면 옆에 times를 붙이면 된다. 

 

rep(1:5, times=10)

그러면 1, 2, 3, 4, 5, 1, 2, 3, 4, 5.. 이렇게 10번 될 때까지 반복. 

 

만약 1이 연달아 세 번 나오고 그 다음에 2가 연달아 세 번 이런 식으로 하려면 다음과 같이 each를 붙이면 된다. 

 

rep(1:5, each=3)

1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5가 결과가 될 것이다. 

 

그런데 연속되는 숫자가 아니라 특정 숫자 그룹 예를 들어 3, 5, 7이라는 숫자가 5번 반복되게 하고 싶다고 하면 3, 5, 7을 벡터로 만들어서 이걸 반복시키면 된다. 

 

rep(c(3, 5, 7), times=5)

헷갈리지 말아야 하는 게 연속되는 숫자를 표시하는 : 를 쓸 때는 따로 벡터 표시인 c()를 써주지 않아도 된다는 점. 다시 말해 

c(1:5) 이런 건 없다는 얘기. 

반응형