반응형
앞서 말한 것처럼 날짜는 일반적으로 as.Date()로 변환하고 포맷만 잘 지정해주면 문자도 날짜로 잘 인식해주는데, 가끔 보다보면 날짜 칼럼이 각각 떨어져 있는 경우가 있습니다. 아래처럼 연도와 월 (혹은 일)이 각각 다른 칼럼에 있는 경우가 있죠. 이 때 이걸 어떻게 통합해서 날짜 데이터로 변환할 수 있느냐는 질문이 생길 수 있는데요.
이 때 사용해야 하는 함수가 두 개 있는데 하나가 with이고, 다른 하나가 sprintf입니다. 우선 df라는 데이터베이스에 있는 두 날짜 칼럼을 합쳐서 새로운 날짜 칼럼으로 만들어라 하는 명령문은 아래와 같구요 (포맷은 그 때마다 다릅니다).
df$Date <- with(df, sprintf("%d-%02d", year_received, month_received))
with는 일반적으로 두 개의 문자열을 합칠 때는 쓰는 명령어이고, sprintf는 문자를 특정조건에 있는 형식으로 맞추어서 뽑아주는 것을 말합니다. 위에서 말하는 %d는 정수를 의미하구요. year_received, month_received 둘 다 정수 포맷으로 맞추어서 둘을 합치(with)는 과정을 겪게 됩니다.
반응형
'R > R basic' 카테고리의 다른 글
엑셀 파일 부르기, sheet별로 불러서 통합하기 (read_excel) (0) | 2022.01.10 |
---|---|
string 문자열 알파벳 세기, 문자열 합치기, 일부 보이기 (str_length, str_c, str_sub) (0) | 2021.12.07 |
날짜 데이터 읽기 (1): 문자를 날짜로 데이터 변환 (as.Date) (0) | 2021.05.23 |
데이터 문자값 바꾸기 (sub, gsub 함수) (0) | 2021.05.04 |
%>%란 무엇인가 (dplyr) (0) | 2021.04.30 |