Post List

2019년 9월 6일 금요일

AWS를 이용한 투자 자동화 구축하기! (2) R, R studio 설치 및 패키지 설치하기






'R을 이용한 퀀트 투자 포트폴리오 만들기'가 출간 되었습니다.
많은 관심 부탁드리겠습니다.

↓↓ 구매링크 ↓↓



Ubuntu 서버에 R을 설치하기 위해 다음과 같이 입력합니다.

최신버젼 설치하기: https://linuxize.com/post/how-to-install-r-on-ubuntu-20-04/

sudo -i
sudo apt-get update
sudo apt-get install r-base

  1. 먼저 sudo -i를 통해 root 권한을 실행합니다.
  2. 패키지들을 업데이트 합니다.
  3. R을 설치합니다.

터미널에서 R을 입력하면 R 프로그램이 실행되어 R Gui를 실행할 수 있습니다. 시험상아 각종 함수들을 실행해본 후, R의 종료 명령어인 q()를 입력합니다.



Ubuntu에서 R Studio를 설치하기 위해서는 R Studio 사이트를 방문하여 버젼에 맞는 명령어를 찾아 입력하면 됩니다. 사이트 주소 밑 Ubuntu 18에 해당하는 명령어를 다음과 같습니다. ($ 표시는 제외한 후 입력해야 합니다.)

https://www.rstudio.com/products/rstudio/download-server/


sudo apt-get install gdebi-core
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.2.1335-amd64.deb
sudo gdebi rstudio-server-1.2.1335-amd64.deb

사용자를 추가하기 위해 다음과 같이 입력합니다.

sudo adduser 유저이름

입력한 유저이름으로 사용자가 추가됩니다. password의 경우 타이핑을 해도 아무것도 입력 되지 않은 것 처럼 보이지만 입력이 되고 있으며, 기타 정보는 엔터를 눌러 건너뛰어도 됩니다.



이제 웹에서 R Studio를 실행하도록 하겠습니다. 퍼블릭 DNS(IPv4) 주소 뒤에 R Studio의 포트번호인 :8787를 붙인 값이 R Studio Server의 주소입니다.



서버 주소(DNS:8787)를 웹브라우저에 입력하면 로그인 화면이 뜨며, 미리 생성한 사용자 이름과 비밀 번호를 입력하면 R Studio가 실행됩니다.






현재는 R과 R Studio에서 제공하는 기본 패키지만 설치된 상태이며, 추가로 필요한 소프트웨어와 패키지들을 설치해야 합니다. 먼저 Putty를 통해 Ubuntu 커맨드에서 다음 명령어를 입력하여 필요한 소프트웨어들을 설치합니다. (root 계정으로 설치하는 것을 권장합니다.)

 sudo apt-get install -y libxml2-dev libcurl4-openssl-dev libssl-dev



R 패키지의 경우 R에 접속한 후 install.packages('package') 함수를 통해 설치가 가능합니다. 그러나 dplyr 혹은 tidyverse 처럼 dependency가 많은 패키지는 t2.micro가 제공하는 메모리로는 설치 과정에서 서버가 멈춰버립니다. 따라서 이러한 패키지들을 설치하기 위해서는 t2.small 혹은 t2.medium으로 업그레이드하여 패키지를 설치한 후, 다시 t2.micro로 변경할 필요가 있습니다. 물론 업그레이드 시간 만큼 요금이 부과되지만, 1시간 내로 설치가 가능하므로 부담이 없는 수준입니다.

먼저 AWS 웹페이지에서 [작업] → [인스턴스 상태] → [중지]를 선택하면 인스턴스 상태가 stopped로 변경됩니다. 그 후 [작업] → [인스턴스 설정] → [인스턴스 유형 변경]을 통해 t2.small 혹은 t2.medium으로 유형을 변경한 후 적용을 누릅니다. 그 후 [작업] → [인스턴스 상태] → [시작]을 눌러 다시 서버를 가동합니다.



다시 Putty를 통해 Ubuntu에 접속합니다. 주의할 점은 인스턴트를 중지할 경우 퍼블릭 DNS(IPv4)와 퍼블릭 DNS(IPv4)가 변경된다는 점이며, Host Name에 변경된 IP를 입력해야 접속이 됩니다.



변경된 IP로 접속한 후, ubuntu 로그인 및 sudo -i를 통해 root 계정으로 접속합니다. 그 후 R을 실행 후 install.packages('tidyverse') 명령어를 입력하여 tidyverse 패키지를 설치합니다. 패키지가 무거운만큼 설치되는데 오랜 시간이 걸립니다. 이 외에도 크롤링, 스케쥴링, 텔레그램 전송, 샤이니 등에 필요한 패키지와 본인이 사용할 패키지를 미리 설치해주는 것이 좋습니다.

install.packages('jsonlite')
install.packages('cronR')
install.packages('telegram.bot')
install.packages('miniUI')
install.packages('shiny')
install.packages('shinyFiles')
install.packages('shinycssloaders')
install.packages('DT')
install.packages('plotly')

가끔 패키지 설치시 다음과 같은 오류가 발생할 수 있습니다.

failed to lock directory ‘/usr/local/lib/R/site-library’ for modifying Try removing ‘/usr/local/lib/R/site-library/00LOCK-scales’

오류 발생 시 다음과 같이 입력하면 문제가 해결됩니다.

install.packages('패키지명', dependencies=TRUE, INSTALL_opts = c('--no-lock'))

향후 추가적으로 설치할 패키지가 있을 경우에도 위와 같이 ubuntu에서 root 계정으로 패키지를 설치하는 것을 권장합니다. 패키지 설치가 완료되면 다시 인스턴스 유형을 t2.micro로 변경하며, 퍼블릭 DNS(IPv4)와 퍼블릭 DNS(IPv4)는 다시 변경됩니다.

댓글 1개:

  1. ubuntu rstudio-server 버전이 1.2.5033(3/23 현재)으로 바뀌었어요
    https://rstudio.com/products/rstudio/download-server/debian-ubuntu/ 여기서 확인하면 될 것 같아요

    답글삭제