본문 바로가기
반응형

R Programming34

[R] 이중 축 그래프 그리기: ggplot2, sec_axis 생성 이중 y축 그래프, 값의 범위가 다른 두 그래프 함께 나타내기 정부에서 제공하는 코로나19 그래프를 보면, 아래처럼, 코로나19와 연관있을 것으로 생각되고 코로나19 확진자 수와 함께 비교하고 싶은 다른 시계열 (물가동향) 자료를 함께 나타내는 경우가 많다. 당연히, R에서도 비슷하게 나타낼 수 있다! 이번 포스트에서 그려볼 그래프는 아래와 같다. (세로 선 + 텍스트 넣기는 다음 포스트에서 소개할 예정) 축이 두 개인 그래프 따라 그리기! 위의 통계청에서 제공하고 있는 그래프와 최대한 비슷하게 따라 그려볼 것이다. [0] 준비 준비 1. 데이터 다운로드: 코로나19 확진자 수 (질병관리청) https://ncov.kdca.go.kr/bdBoardListR.do?brdId=1&brdGubun=11 소비자.. 2023. 10. 8.
Parallel 연산에서 Rcpp::function 호출하기 R에서의 연산속도를 향상시키기 위해, Parallel 연산과 Rcpp를 고려하게 될 것이다. 이 포스팅에선 Rcpp::function은 이미 다 짠 상태인데 Parallel 연산 안에서 어떻게 Rcpp를 다룰지에 대해 이야기하겠다. 여기서 이야기하는 R에서의 Parallel 연산이란, Parallel 연산을 도와주는 패키지를 사용하여 main session 이 아닌 추가적인 session 을 생성하고 각 session 에서 작동시킨 결과를 다시 main session 에서 통합시켜서 계산하는 방법을 의미한다. 이 때 한 명이 4개의 일을 처리하는게 아닌, 4명이 일을 1개씩 처리하기 때문에 계산속도가 빨라진다. (단, 일을 전달하고 각 일의 결과를 받는 과정 또한 시간이 걸릴 수 있음) 문제는 각각의 S.. 2023. 10. 6.
R 데이터분석 문자열 전처리 paste, strsplit, str_detect R은 문자열 전처리를 위한 함수들이 존재한다. 알아두면 정말 편한 함수에 대해서 정리해보자. (1) paste(), paste0(): 문자열을 결합해주는 함수. paste() 함수는 collapse 문자를 기준으로 vector 속 문자열을 하나로 결합해준다. paste0() 함수는 빈칸 없이 vector 속 문자열을 결합해준다. paste(c("사과", "바나나", "딸기", "포도"), collapse = "와 ") # (결과) "사과와 바나나와 딸기와 포도" paste(c("사과", "바나나", "딸기", "포도"), collapse = ", ") # (결과) "사과, 바나나, 딸기, 포도" paste(c("사과", "바나나", "딸기", "포도"), collapse = "") paste0("사과",.. 2023. 10. 1.
[R] Useful Links for ggplot2 (1) Best Example This link covers more than 80% of examples that will typically be visualized with ggplot2. This link provides quick example of how you can visualize your data in ggplot2. If you were not familiar in ggplot2, you can easily follow up this code. Explanations on R code are written in Korean. https://rpubs.com/kimwoohyung/ggplot2 RPubs - ggplot2 활용하기 R 코드 정리 rpubs.com (2-1) Online B.. 2023. 9. 23.
[Rcpp] Rcpp에서 R함수 사용하기 (Optimize 함수 예시) (현재 코드는 RcppArmadillo & Rcpp 을 사용하였다.) Rcpp은 R의 계산속도 향상을 위해 사용하지만, C++ 내부에 당연히 R의 패키지들은 다 구현되어 있지 않다... R을 사용하다 속도 문제로 R코드를 C++로 수정하는 일이 종종 생기는데, 이 때 기존의 R에서 사용하던 함수를 직접 구현해야 하나 싶은 상황이 된다. 기존의 R 코드를 C++로 구현하는 건 매우 어려운 일인데, R과 달리, C++은 Vector 단위의 객체끼리의 Row-wise 계산을 지원해주지 않아서 for()를 사용해 모든 element를 불러와서 계산한 후에 다시 그 값을 vector로 만들어야 한다. 결론적으로 내가 대가님이 몇 십년씩 조금씩 수정하여 만들어낸 몇몇 패키지 함수보다 더 안정적이고 효율적으로 짧은 .. 2023. 9. 17.
반응형