레이블이 R 설치 및 패키지 설치인 게시물을 표시합니다. 모든 게시물 표시
레이블이 R 설치 및 패키지 설치인 게시물을 표시합니다. 모든 게시물 표시

R CRAN Mirror site 패키지 선택 하여 설치

  보안이 매우 중요한 회사에서는   웹사이트가 접속이 제한이 된다.   그래서,  R CRAN Mirror  사이트를 선택해서 설치 해야 한다.     앞으로의 보안 정책은  전부다 막고, 일부만 풀어 주는 방식으로 될 것이며,  물론 보안 신청 한 사이트는 보안 성을 검토하고 열어 줄 것이다.   일반적으로 R 에서 패키지를 설치 할때,  Mirror 사이트를 선택하라는 창이 나오는 경우가 있다.  우리는 일반적으로 가장 가까운 지역을 선택 한다. 

물론 나는 한국 사람이기 때문에   한국 지역에 있는 CRAN 사이트를 선택 한다.    

  개발 사이트 중에서 가장 위험 한 사이트는 Git-hub 이다.    특히  R은   CRAN  Mirror site에서 패키지를 많이 받는데,   매우 특수한 것은 Git-hub 에서 다운 받는 경우가 있다.   


 CRAN web site 찾는 법을 먼저 보자.   아래를 클릭 한다. 
r package mirror 사이트 


위 화면을 보면,  노란색 음영과 같이 Mirror 메뉴가 나오고,  그것을 클릭 하면,  해당 하는 사이트가 나온다. 

해당 하는 사이트(나는 서울을 선택 하였다.)를 클릭하면,  그냥 같은  UI 의 사이트가 나온다 . 하지만,  아래와 같이 패키지 설치 할때, repos  옵션에 url을 넣어 주면,  그 사이트에서 패키지를 다운 받는 다. 

> install.packages('doMC', repos='https://cran.seoul.go.kr/')

또한  컴퓨터 시작 할 때,  미리 선택 할 수 있다.    

일반적으로 local에서 사용할때는  아래링크를 참고 할 수 있고, 
만약에  Docker로 설치 하였으면,  아래와 같은 명령어를 쳐서 정리 하면 된다. 
$ vi .Rprofile
options(repos = "https://cran.seoul.go.kr/")
r

 위와 같이  vi 에디터로 수정 한 다음  저장 후 재시작 하면 된다. 

Windows Docker 설치 with R 과 Rstudio

 windows에서 linux 기반의 R 을 설치 해도 일반 linux 기반의 R의 잘 돌아 간다.  

특히 요새 윈도우 버전에 업그레이드 되면서,  계정이름이 한글로 된 학교 사용자들이Windows R을 사용할때 아래와 같은 문제가 발생 된다.   


Warning message:

In normalizePath(path.expand(path), winslash, mustWork) :

  path[1]="C:/Users/???/Documents": 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다

anaconda jupyter notebook에 R 설치

  ananconda jupyter notebook에서 R을 사용한다는 것을 R을 가지고 html 문서화를 할 수 있다는 이야기 이다.  R에서는 Markdown이 있는데,  이것보다는 좀 더 편하게 표현 할 수 있다.  jupyter notebook 을 사용할 때는 거의 강의 할 때  사용한다.  하지만,  버전이 낮다는 단점이 있다. 


ubuntu 20.04 R 4.1 설치 및 devtools

  R 은  패치기 들이 엄청나게 많다.   패치가 얼마나 많은 지는 모르겠지만,  최근에  cran packages에서 4,000개 이상 추가 되었다는 내용이 있었다. 

For additional binary packages for R (currently well over 4,000+)

기본적인 지식만 있으면,  얼마든지  R에 있는 패키지를 이용하여 모든 것을 할 수 있다. 나는 R  패키지를 많이 쓰고 있지는 않는다   약 100개 정도 이다. 


Windows 64 bit Rstudio에서 R 64Bit rJava 설치 후 로딩 오류 문제

Windows R에서 자바 설치 하는 방법을 찾는 것도 쉽지 않은 일이다.    나는 아래와 같이 KoNLPR 설치 하려는 도중 아래와 같이 오류를 발견 하였다. 

https://rdmkyg.blogspot.com/2021/05/konlpr-windows-r.html

Error: package or namespace load failed for ‘rJava’:

 .onLoad가 loadNamespace()에서 'rJava'때문에 실패했습니다:

  호출: fun(libname, pkgname)

  에러: JAVA_HOME cannot be determined from the Registry


Windows R 4.1.1 Rstudio 2021.09.0 버전 한글 오류 발생

 Rstudio 4.1.1 버전하고 Rstudio 2021.09.0의 계정 이름이 한글 일 때 아래와 같은 오류가 발생 한다. 


package ‘devtools’ successfully unpacked and MD5 sums checked


The downloaded binary packages are in

C:\Users\???\AppData\Local\Temp\Rtmp4OMPZc\downloaded_packages

Warning message:

In normalizePath(path.expand(path), winslash, mustWork) :

  path[1]="C:/Users/???/Documents": 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다


error writing code to file C:/Users/����/AppData/Local/Temp/c4cc-da95-1f7b-a9ea: system error 3 (������ ��θ� ã�� �� �����ϴ�)

Error in file(filename, "r") : Ŀ�ؼ��� �� �� �����ϴ�

Calls: sourceWithProgress -> parse -> file

�߰�����: ����޽���(��): 

In file(filename, "r") :

  ���� 'C:/Users/????/AppData/Local/Temp/c4cc-da95-1f7b-a9ea'�� ���µ� �����߽��ϴ�: Invalid argument

������ �����Ǿ����ϴ�

오늘도 데이터에서 url 엑셀 데이터 오류가 날때

   오늘도 데이터는 데이터셋을 구글 클라우드에 올려 놓고,   명령어를 치면 url 에서 데이터를 가져오는 방식으로 한다.  

  그런데 그동안 잘 되다가   엑셀 파일을 읽으려고 할 때 아래와 같은 오류가 발생 할 수 있다. 


# 패키지 로딩 

  library(readxl)

  library(httr)


# 데이터 셋 가져오기 

  url = "https://drive.google.com/u/0/uc?id=1txatfA9L88BFAfDKKXbqfGMSw6TBfwhQ&export=download"

  GET(url, write_disk(tf <- tempfile(fileext = ".xlsx")))

  demand <- read_excel(tf, 1L) 

Error in read_fun(path = enc2native(normalizePath(path)), sheet_i = sheet, : 함수 'Rcpp_precious_remove'는 패키지 'Rcpp'에서 제공된 것이 아닙니다 


그럴 때,  Rstudio나  R 콘솔에서 아> 래와 같은 명령어를 치면 해결이 된다. 

update.packages()

또는

> install.packages('Rcpp')


ubuntu MSsql 설치 및 R 연결

  MSsql은 산업 현장에서 SCADA 시스템 구축 할때, Local DB로  사용이 많이 된다.   그런 만큼 MSsql의 범용성이 매우 크다고 할 수 있다. 

   요새는 PowerBi 군을 사용하게 되면서, MSsql이  상당히 부각되었다.  1천만 건 이상의 데이터를 Visualization 할 수 있는 Tool이 되었다.  

 나는 20년 전에 ASP 웹 개발 하였을때,  주로 사용 했었다.   어찌 되었든 MSsql은  MS 답게 사용성은 다른 DB  엔진에 비하여 편리 하다. 


 

MSSQL R 연결




R Oracle 설치 난이도 최상 ubuntu 18.04

R에서 전사 시스템을 연동하여, 사용할 수 있다. ROracle이라는 패키지이다. 이것은 Oracle Express 버전을 기준으로 한다.

 Oracle은 현재 우리나라에서는 가장 많이 사용하는 RDBMS 일것이다.  하지만,  이것을 R에서 SQL 쿼리문을 날려서,  모델링 결과를 전사 ERP 시스템에 업데이트를 하는 Case는 많지 않다. 



R Oracle 연결


R에서 Tensorflow GPU 실행 하기 우분투 18.04

    R에서도 Tensorflow를  GPU로  돌릴 수 있다.   다만 아래의 절차를 따를 경우에만 가능하다. 

R Tensorflow 세팅 순서


우분투에서 성공을 했었는데,  Windows에서도 성공할 수 있을 것 같다. 

   

Winoows 4.1 Issue 패키지 설치 안됨

  아래 네이버 지식인으로 부터 질문이 왔다. 


> install.packages("dplyer")
‘C:/Users/kboly/Documents/R/win-library/4.1’의 위치에 패키지(들)을 설치합니다.
(왜냐하면 ‘lib’가 지정되지 않았기 때문입니다)
Warning in install.packages :
  package ‘dplyer’ is not available for this version of R
A version of this package for your version of R might be available elsewhere,
see the ideas at
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages


지금은 해결 방법이 2가지 방법이다. 

R mongolite를 이용한 mongo db 연결

   R mongolite 를 이용하여,  mongdb를  아래의 코드를 이용해서 연결이 가능 하다. 





KoNLP R 설치 Windows R 버전

KoNLPR는  형태소 분석기 이다.   사내에 방화벽이 없다면 아래와 같이 git-hub로 설치가 가능 하다. 


# 아래 패키지를 설치 하신 후에
install.packages("multilinguer")

# 의존성을 설치 한다. 
install.packages(c('stringr', 'hash', 'tau', 'Sejong', 'RSQLite', 'devtools'), type = "binary")

# Git hub로 설치 한다. 
install.packages("remotes")
remotes::install_github('haven-jeon/KoNLP', upgrade = "never", INSTALL_opts=c("--no-multiarch"))

# KoNLP 예제 

library(KoNLP)
## Checking user defined dictionary!
sentence <- '아버지가 방에 스로륵 들어가신다.'

extractNoun(sentence)
## [1] "아버지" "방"     "스로륵"

Windows R 관리자 권한으로 실행

  Windows R은 관리자 권한으로 실행하지 않으면 패키지도 로딩이 안되고,  

제대로 패키지를 설치 할 수 없다.  따라서 제대로 설치 하고 실행 하려면,  

아래와 같이 관리자 권한으로 실행 하여야 한다. 

1.아이콘에서 관리자 권한 실행 법 


  다음 실행시에도 계속 된다. 

2.실행 시  관리자 권한 실행 법 


실행 할때 마다 관리자 권한으로 해야 한다. 

관리자 권한 실행 후에  관련된 패키지를 설치 하여야 한다. 



그러면  대부분의 문제를 해결 할수 있다. 

R 패키지 ubuntu 에 안정적 설치

     Windows 버전에서는 패키지 설치가 아주 쉽지만,  Ubuntu 버전은 패키지 설치가 매우 어렵다.  Linux 특성 상 의존성 에러가 나기 때문이다.   그래서 여러가지 방법으로 패키지를 설치 하는 방법을 설명 하고자 한다.   어찌 되었든  세팅에 가장 애를 많이 먹는 것은 Ubuntu이다.   Windows는 세팅을 쉽지만,  개발 할 때,  여러가지 문제점이 발생된다. 



1.  sudo user root 계정으로 설치 

ubuntu R 4.1.0 버전 ggplot2 Crash error 해결 방법

  R을 사용할때,   .1 버전은 개발 버전이다.    즉 4.0, 4.2 는 괞찮은데,   4.1, 4.3 으로 가면 개발 버전이기 때문에  오류가 발생 한다.  


이번에 우분투(ubuntu)  sudo apt-get upgrade 하면서 4.05 에서 4.1 대로 업그레이드 되었는데,  아래 화면과 같이  ggplot2 에러가 발생되었다.   



즉 해결 하기 어려운 unexpected crash 에러 

 The previous R session was abnormally terminated due to unexpected crash.

You may have lost work space data as a result of this crash 

그냥 삭제 후 다시 설치 하는 것이 제일 좋다.     R 3.6 버전으로 다운그레이드 한다. 

R 3.6 버전으로 다운그레이드 하려면  정말 임시동안 이것을 사용해야 한다. 

R 기본 버전을 삭제 한다. 

sudo apt purge r-base* r-recommended r-cran-*
sudo apt autoremove
sudo apt update

아래 명령어를 쳐서 기존 레포지트리에 주석 처리 한다. 

$ sudo vi /etc/apt/sources.list

새로운 레포지트리를 등록 한다. 

$ sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/'


 $ sudo apt-get update

 $ sudo apt-get install r-base


※  버전에 대한 참고는 https://rstudio.cloud/ 을 실행 하였을때  나오는 버전을 참고하면 된다. 

R 시작 할 때 매우 쉬운 ggplot2, dplyr 패키지 자동 로드

R 진입 하는 초보 사용자들은 항상 tidyvers를 실행 했다.  tidyvers는 항상 아래와 같은 충돌(conflicts) 문제를 겪는데,  만약에 패키지를 잘 안다고 하면,  tidyvers 를 실행 하지 않고, tidyvers에  import 된 패키지를 사용하면 된다.    


 tidyvers 안에  import 된 대표적인 패키지가 "ggplot2"와 "dplyr" 이다.  이것만 있으면 데이터 핸들링과 데이터 시각화 모든것을 할 수 있다. 

     그 동안 우리는 패키지를 로딩 할 때, 소스 코드 마다 아래와 같이 "ggplot2" 와  "dplyr"을 항상 로딩 시켰다.    

 

library(dplyr)
library(ggplot2)

 위와 같은 패키지를 소스 코드에 항상 로딩 할 필요가 없어 졌다.  


아래와 같이 우분투(ubuntu)에 콘솔  환경 설정을 하고 자동으로 로딩 하면 된다. 


$ cd /usr/lib/R/etc $ sudo nano Rprofile.site 
## We set the cloud mirror, which is 'network-close' to everybody, as default local({ r <- getOption("repos") r["CRAN"] <- "https://cloud.r-project.org" options(repos = r)
options(defaultPackages=c(getOption("defaultPackages"),"dplyr", "ggplot2" )) })


 Rprofile.site 에서 아래와 같은 명령어만 추가 하면 지동으로 시작 된다.   

 options(defaultPackages=c(getOption("defaultPackages"),"dplyr", "ggplot2" ))


아래와 같이 ggplot2와 dplyr을  별도의 패키지 로딩 없이 사용 할 수 있다. 




R에서 1e+05 숫자들이 나온다면 환경 설정

   R을 사용하면서 큰 숫자를 다룰 때,   1e+05 한 숫자들이 나와서 무슨 숫자인지 잘 모르는 경우가 있다.   일단 이런 것이 있으면,  당장 숫자를 알 수 없다.   여기에서 당장 처리 할 있는 것이 있다.   

   아래와 같이  2021년 1월에 새로 나온 패키지 "formattable"에서 확인 할 수 있다.

      

 a 를 10십만 숫자를 넣는다.   그럼 아래와 같이 숫자가 나온다. 

a <- 100000
a
## [1] 1e+05

 알 수 없는 숫자가 나온다.     이것을 아래와 같이  숫자 천단위로 나눌 수 있다. 

library(formattable)
comma(a,  format = "d")
## [1] 100,000

그리고 놀랍게도 이것은 연산 까지 된다. 

comma(a, format = "d") * 100
## [1] 10,000,000

 콤마 없이 숫자를 나타낼 수 있다.  option 함수를 이용하면 된다. 

options(scipen = 3)
a
## [1] 100000


option 함수를 사용 할 수 있지만,  .Rprofile에 작성 해서  시작 할 때 부 터 미리 설정 할 수 있다.    

     

$ cd /usr/lib/R/etc $ sudo nano Rprofile.site
## We set the cloud mirror, which is 'network-close' to everybody, as default local({ r <- getOption("repos") r["CRAN"] <- "https://cloud.r-project.org" options(repos = r) options(scipen = 3) # 추가함 })


 우분투 콘솔 에서 /usr/lib/R/etc 폴더에서  Rprofile.site 에서 위의 그림과 같이     options(scipen =3)을 추가 하면  1e+05  문자 들이 나오지 않는다. 



R 환경 설정 파일 Renviron , Rprofile 한글 인코딩 설정시 사용

   R 환경 설정 파일에서 반드시 쓸 일이 있다.   오라클 한글 인코딩 설정 할 때 꼭 필요 한데, 이 부분을 잘 몰라서,  우리 회사 서버 팀과 같이 서로 고생들만 하였다.   어찌 되었든 이 부분에 대한 개념은 매우 중요 하니, 아래와 같이 이야기 하겠다. 


  R에는 2종류의 환경 설정 파일이 있다. 

  • 라이브러리 저장할 곳 등의 환경 변수를 지정 하는 ''
  • CRAN의 미러 사이트나 그래프 옵션 등을 R 코드로 지정한 'Rprofile'

  Reviron의 저장 장소

오늘도 데이터 R 시작 페이지


  오늘도 R  시작 페이지를 시작 한다.  필자가 그 동안 실무를 하면서 많이 사용하던 tidyverse 패키지를 활용 하여,  1차적으로 정리 한다.     

이것에 대한 기본적인 내용은 wikidocs의 실무위주의 R 에서 거제 되며,  실무위주의 R에서 추가로 필요한 내용을 여기 블로그에 정리 하였다.  

   100번의 훈련 보다는 1번의 실전이 더 낮다는 이야기가 있다.   필자가 처음 R을 시작 해서, 첫번째,  간단한 프로젝트 수행 하였음에도 불구하고,  10개월이라는 시간이 걸렸다. 두번째 프로젝트도 역시나 10개월 정도 걸렸다.   기능에서 화면 한개 나오는데도 불구 하고, 시간은 일반적으로 5~6개월 걸린다.  그 만큼 데이터 돌리고 분석 하는 것이 쉽지 않다는 것이다. 

하지만 실전을 하고 나면,  정리 할 것이 매우 많이 남는다.  자기 자산이 무엇인가를 성취하라고, 가지고 있는 노력과,  수없이 많은 구글링을 통해 내가 원하는 지식을 얻는다.   내가 정리 해놓은 블로그를 누군가가 보겠지만,  여기에 있는 목차를 활용해서 R에 직접 넣고 실험 하기에는 너무 시간이 많이 걸릴 것 같다.  

  나 처럼 모르는 것만 구글링 해서 필요한 정보를 얻어 가는 사람들이 많을 것이라고 판단 된다.    

 이것은 4년 동안 R을 하면서 수없이 많은 시행 착오와  실수 그리고, 심지어는 서버 다운까지 겪어가면서  이렇게 하는 것이 간단하고 좋구나 라고 정리 한 것이다.  
코드는 사람의 성격과 성향에 따라 성격이 바뀌므로, 이것을 참고 해서 자신만의 코드를 만드시길 바란다. 

  



css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...