실습문제 1. 로또 번호 생성기 만들기
1~45번까지 6개를 추출하여라
단, 한 번에 하나의 숫자만 추출이 가능하며, 숫자는 중복될 수 없다. 작은 숫자 순서대로 출력하여라.
선생님 풀이와 비슷하게 풀었으나 나는 while문에서 1~1000까지의 횟수 제한을 두었고 선생님은 length가 로또 총 추출개수가 될 때까지 반복하라고 풀이하셨으므로 선생님 풀이 과정을 첨부하겠다.
실습문제 2. delivery.csv 파일을 읽고
1) 일자별 총 통화건수를 구하여라.
2) 일자별 배달콜수에 대한 전일 대비 증감률을 구하여라(단, 첫 날은 0%)
위 문제를 풀기 위한 방법 중 이전값을 가져오는 여러 방식이 있다.
첫 번째는 위 풀이에 나온 사용자 정의 함수를 생성하여 가져오는 방법
두 번째는 꼼수이지만 아래와 같은 방법이 있다.
c(deli2$통화건수[-1], deli2$통화건수[-28])
세 번째 방법으로는 dplyr패키지의 lag 함수이다.
dplyr::lag(x, # 대상
n = 1, # 몇 번째 이전 값 가져올지지
default = NULL) # 가져올 값이 없을 때 선언할 값
lag(deli2$통화건수, default = deli2$통화건수[1])
마지막 방법으로는 data.table 패키지의 shift 함수이다.
shift(x, # 대상
n=1, # 몇번째 값을 가져올지
fill=NA, # 가져올 값이 없을 때 선언값
type = c('lag', # 이전값 가져올 경우
'lead')) # 이후값 가져올 경우
'배우기 > 복습노트[R과 분석]' 카테고리의 다른 글
[복습] R(programming language) 집합연산자 (0) | 2023.12.07 |
---|---|
[복습] 통계/분석 용어 정리 (0) | 2023.12.06 |
[복습] R(programming language) 자료구조(행렬과 배열) (4) + 하루끝(20231205) (0) | 2023.12.06 |
[복습] R(programming language) 정규식 표현식과 정규식을 사용한 문자열 추출(str_extract, str_match) (0) | 2023.12.05 |
[실습문제] 2023. 12. 4.(월) (2문제) (0) | 2023.12.05 |