본문 바로가기
반응형

R6

R 사용자를 위한 Colab Python을 사용할 일이 있어서 오랜만에 Colab을 켰는데, Colab에서 R을 지원해준다는 것을 알게 됐다. Colab은 Google Colaboratory를 줄여서 부르는 말로, Google Server에서 작동되는 Jupyter Notebook 기반의 웹용 Python 환경을 제공한다. 찾아보니 엄청 옛날부터 제공했던 것 같은데.. 이제 알았다.. 아무튼 R에서 Colab이 사용 가능하단다. 물론 Python 사용자라면 Colab에 이미 친숙할 거고 매우 잘 사용해왔겠지만, R 사용자들은 잘 모를거기 때문에 관련 내용에 대해 작성하고자 한다. Colab은 아래와 같은 장점들이 있다. 무료 구글 서버 사용 가능 (제한적이지만) 대부분의 Library / Package 가 이미 설치됨 특히 파이썬으.. 2023. 10. 15.
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.
[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.
[R] for 문으로 그래프 생성: ggplot2, for, assign, paste 앞 장에서 여러 그래프 한 번에 타나내는 법을 다루었다. 그래프를 하나씩 g1, g2로 정의하여 gird.arrange() 함수를 이용하여 나타내면 된다. 하지만, 나타내려는 그래프 수가 10개를 넘어간다면, 그래프를 하나 하나 정의하려면 힘들 것이다. 그래서 이번 글에서는 For문을 이용해서 자동화된 방식의 코드 구현 을 하고자 한다. 여러 그래프 한 번에 나타내기: ggplot2, gridExtra hyemstat.tistory.com R코드 - 기본 gird.arrange()를 사용하려면, 각각의 그래프를 하나의 오브젝트로 저장해두어야 한다. 이를 위해, paste0()와 assign()을 활용하고자 한다. 둘은 R의 기본함수로 따로 패키지를 설치할 필요는 없다. - paste()와 paste0().. 2022. 8. 7.
반응형