반응형
숫자가 연속되게 나오는 데 가장 유용한 함수가 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) 이런 건 없다는 얘기.
반응형
'R > R basic' 카테고리의 다른 글
문자 앞이나 뒤에 억지로 숫자나 문자를 붙여야 할 때: str_pad 함수 (0) | 2022.06.25 |
---|---|
정렬(오름차순, 내림차순)할 때 쓰는 함수: arrange (0) | 2022.06.23 |
tidyverse 하나면 웬만한 것 커버된다 (0) | 2022.06.18 |
한국어로 파일 추출이 안 될 때 (sys.setlocale) (0) | 2022.06.15 |
특정 조건 행 (row) 갯수 세기 dplyr::count (0) | 2022.06.14 |