Category: R

  • Latest version of R in Docker

    기본적으로 데비안은 R 4.2.2을 제공한다. 최신 버전으로 업그레이드 하려면 다음의 과정이 필요하다.

    R에서 제공하는 방법은 key 저장 방법을 옛 방식으로 사용하고 있다. 그래서 최신 방법대로 하려면 다음과 같이 해야 한다.

    둘 중의 하나 방법으로 key를 저장한다.

    curl -fsSL https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB8F25A8A73EACF41 | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/cran_r_project.gpg > /dev/null
    
    or
    
    wget -qO - 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB8F25A8A73EACF41' | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/cran_r_project.gpg > /dev/null

    /etc/apt/sources.list 파일에 다음을 추가한다.

    deb [signed-by=/etc/apt/trusted.gpg.d/cran_r_project.gpg] http://cloud.r-project.org/bin/linux/debian bookworm-cran40/

    Pages: 1 2

  • 음수의 거듭 제곱

    음수의 거듭 제곱을 구해야 할 일이 생겼다. 어떤 값을 추정할 수 있는 공식이 있다. 이 값은 거듭제곱이 여러 번 들어가 있다. 이 과정에서 오타가 생길 수도 있을 것이다.

    여러 번 검토해서 올바른 식을 만들고 계산했다. 엑셀에서는 구해지는 데 R에서는 NaN이 발생했다.

    한 참을 원인을 찾은 끝에 R은 음수의 거듭 제곱을 별도의 방법을 통해서 계산해야 한다고 한다.

    복소수로 변환하는 방법이 기본적인 것 같다. 그런데 이건 직관적이지 않다.

    가장 쉬운 방법은 양수로 변환한 다음 음수로 바꾸어 주는 것이다. 양수와 음수를 가리지 않고 계산하려면 다음과 같다. sign()은 입력이 양수이면 1, 음수이면 -1을 반환한다.

    sign(x) * abs(x) ^ (1/3)
  • tex live 설치

    지난 번에 pandoc 때문에 좌우로 분할하여 사용할 수 있다고 했었다. 그런데 아닌 것 같다.

    multirow 기능을 사용하려고 했다. 버전이 맞지 않는다고 한다. 그래서 tex live 2025를 설치하기로 했다.

    install-tl-unx.tar.gz 파일을 받아서 압축을 풀고 폴더로 이동한 후 설치한다. 이렇게 해도 설치는 되었다.

    ./install-tl

    설치를 하면 R에서 이용할 수 있도록 설정해 주어야 한다. shiny 에서 이용하니까 /home/shiny 폴더에 .Renviron 파일을 만들어 다음 내용을 추가한다.

    PATH=/usr/local/texlive/2025/bin/x86_64-linux:$PATH

    이 후에 다음의 명령어를 실행하면 변경된 것을 알 수 있다.

    Sys.which("pdflatex")

  • 온도 기록지

    실시간으로 온도를 기록하고 있다. 모니터링은 grafana를 이용하면 쉽게 할 수 있다. 병원 평가를 위한 기록지도 작성해야 한다. 한 달 정도에 걸쳐 한 단계씩 진행하여 여기까지 왔다. 조금 더 수정하고 싶은 부분이 남아 있다. 그래도 이 정도면 병원 서버에 세팅해서 이용할 수 있을 것 같았다.

    Shiny를 이용해서 화면으로 볼 수 있게 하는 것 부터 했다. 그 다음에는 R markdown을 이용하여 A4 용지 크기에 맞는 보고서를 작성했다. 화면으로 출력하는 것에 비하여 PDF로 출력하는 것이 더 어렵다.

    미래를 위하여 꼭 설치해야 하는 패키지 목록은 다음과 같다. R이나 Shiny, PostgreSQL 같은 것은 기본적인 것은 언급하지 않는다.

    • texlive
      • 이 이름을 가진 패키지는 다 설치해도 괜찮을 것이다.
    • pandoc
      • 이것이 없으면 좌/우 단락으로 나누어 PDF를 생성할 수 없었다.