Data Analysis
-
[R] 클립보드 활용하여 데이터 불러오기Data Analysis/R 2022. 5. 8. 15:32
Table of Contents Introduction 클립보드를 활용하여 데이터 불러오기 Reference Introduction 업무 하는 과정에서 정보를 수집하다보면, 웹에 게시된 테이블 형식의 데이터를 가져오기 위해 크롤러를 만들거나 복사해서 엑셀에 하나씩 붙여 넣고 수정해야 하는 경우 복잡하고 귀찮게 한다. 이를 보다 쉽게 처리하기 위해 클립보드에 있는 정보를 불러와서 처리할 수 있다. 클립보드를 활용하여 데이터 불러오기 국가코드를 활용하기 위해 위키피디아의 국가코드 목록을 접속한 뒤 복사할 대상을 지정하고 복사한다. 이후, 다음 코드를 입력하고 실행하면 복사된 내용이 클립보드에 저장되고 다시 R에서 해당 내용을 출력할 수 있게 된다. # windows용 read.table("clipboard"..
-
[R] 오프라인 환경을 위한 R 라이브러리Data Analysis/R 2022. 2. 28. 17:19
Table of ContentsIntroduction오프라인 환경에서 R 라이브러리 설치를 위한 함수 이해하기사용자 함수를 이용하여 처리하기R 라이브러리 설치하기Introduction Introduction기업 내부에 존재하는 데이터의 경우에는 보안을 민감하게 여기고 있기 때문에 외부망과 단절되어 있다. 이런 폐쇄망에서 시스템이 구성되어 있으며, 데이터가 저장되어 있는 데이터베이스가 내부망에 구성되어 있기 때문에 일반적으로 인터넷이 자유롭게 사용되는 환경에서처럼 R스튜디오를 운영할 수 없다. 이런 경우 외부에서 장비를 반입하기 전에 미리 분석 환경을 세팅하고 들어가거나 설치 파일을 USB 또는 CD에 담아서 들어가기도 한다. 오프라인 환경에서 R 라이브러리 설치를 위한 함수 이해하기R과 R스튜디오의 ..
-
[Algorithms] 협업필터링(Collaborative Filtering)Data Analysis/Algorithms 2021. 10. 24. 19:24
Table of Contents Introduction 협업필터링(Collarborative Filtering)이란? 협업필터링의 한계 기억 기반 협업필터링(Memory based Collaborative Filtering) in R Reference Introduction 과거 유통 채널은 오프라인을 통해 판매자와의 소통을 통해 제품을 구매하였다면, 정보 기술의 발달은 이러한 채널의 변화를 가져왔다. TV를 켜도 홈 쇼핑이 방송이 되고, 컴퓨터와 스마트폰을 봐도 다양한 형태의 비대면 판매 채널이 존재한다. 채널의 다양화는 제품을 선택하는데 있어서 구매의 어려움을 야기한다. 따라서 판매자는 소비자의 선호도에 따라 제품을 추천하고 이를 구매로 연결시키는데, 적절한 추천을 하기 위한 다양한 연구가 진행되고 ..
-
[R] .libPaths()를 이용한 "package or namespace load failed" 조치Data Analysis/R 2021. 9. 10. 12:33
Table of ContentsIntroduction패키지 설치 경로 탐색 함수, .libPaths()Reference Introduction새로운 패키지를 설치하고 이를 실행시키는 과정에서 [그림 1]과 같이 설치 경로를 찾을 수 없다고 에러 메시지(package or namespace load failed for 패키지명)가 발생한다. 이럴 때마다 진행도 안되고 답답했던 경험이 있을 것이다. 패키지 설치 경로 탐색 함수, .libPaths().libPaths() 함수는 패키지 설치 경로를 탐색하는 함수로, 경로 입력 없이 .libPath()만 입력할 경우에는 아래와 같이 결과가 나타난다. 경로를 입력할 경우에는 패키지 설치 경로를 지정할 수 있다. 이를 이용하면 앞에서 "package or nam..
-
[R] system.time을 이용한 실행 속도 측정Data Analysis/R 2021. 8. 29. 19:05
Table of ContentsIntroduction현재 시간을 출력하는 함수, Sys.time코드의 실행 속도를 측정하는 함수, system.timeReference IntroductionR을 이용한 프로그래밍을 수행해본 경험이 축적되면서 어떻게 하면 소스를 효율적으로 개발할 것인가 고민하게 된다. 프로젝트를 수행하면서 프로그램을 개발할 때에는 한정된 리소스를 이용하기 때문에 불필요한 소스 코드를 최소화하고 효율적으로 작성하기 위한 소스 튜닝 작업을 진행한다. R에서는 소스 코드를 실행했던 시간을 측정하기 위한 기본적인 함수가 있다. 이와 관련하여 작성한 함수보다 더 빠르고 효율적으로 작동할 수 있게 소스 실행 속도를 측정하기 위한 다양한 방법이 있다. 현재 시간을 출력하는 함수, Sys.timeR..
-
[R] Sys.sleep을 이용한 속도 제한 이슈 해결Data Analysis/R 2021. 8. 29. 19:04
Table of Contents Introduction 코드 실행을 잠시 멈추는 함수, Sys.sleep Reference Introduction 코딩 업무를 수행하는 과정에서 내가 만든 코드를 실행할 때 에러가 발생하는 것 만큼 끔찍한 상황이 없다. 보통은 오타이거나 변수나 함수를 잘못 참조했기 때문에 발생할 것이다. 만약, API를 가이드 문서에 따라 사용했다면 더욱 당황스럽다. 코드 실행을 잠시 멈추는 함수, Sys.sleep API를 가져다가 쓸때 아래와 같는 에러를 본 적이 있을 것이다. API를 제공하는 회사에서 서버의 부담을 줄이기 위해 데이터 전송 건수를 제안했기 때문에 발생한다. 이를 해결하기 위해서 코드가 빨리 실행하는게 걸리는 시간을 줄여주는 것이 필요하다. 이때 사용하는 함수가 Sy..
-
[R] try, tryCatch를 이용한 예외처리Data Analysis/R 2021. 8. 29. 19:04
Table of ContentsIntroduction에러를 무시하는 함수, try()예외 처리하는 함수, tryCatch()Reference Introduction2020년이 어느 덧 1시간도 안남았다. 코딩은 하면 할수록 어렵고 복잡하다. 특정 케이스를 입력할 때 내가 만든 로직은 항상 에러가 발생하기 마련인데 이때, 어떻게 해야 에러를 무시하고 처리할 수 있을까? 예전 프로젝트를 수행하는 과정에서 try() 함수를 접한 적이 있었는데, 이걸 활용했을 때 조건문 없이 예외처리를 할 수 있다는 점에서 매력적으로 느꼈다. 그 이후 데이터 분석을 하기 위해 크롤러를 만드는 과정에서 활용했다. R에서 변수가 정의가 안된 이름을 입력하고 엔터를 칠 경우 에러가 발생하는 것을 본적 있을 것이다. 이때, try(..
-
[R] R/R스튜디오 설치하기Data Analysis/R 2021. 8. 28. 20:50
Table of ContentsR 설치하기R 설치파일 다운로드 하기R 설치하기R 실행하기R스튜디오 설치하기R 스튜디오 설치파일 다운로드 하기R 스튜디오 설치하기 R 설치하기R을 사용하려면 PC에 R을 설치해야 합니다. R 공식 홈페이지에서는 관련된 최신 뉴스와 새로운 버전에 대한 릴리즈 노트를 제 공하고 있습니다. R과 관련된 최신 동향을 이해하기 위해 홈페이지에 방문하는 것 도 좋은 방법입니다. R 설치파일 다운로드 하기R 설치 파일은 R 공식 홈페이지의 CRAN Mirrors 페이지에서 다운로드 할 수 있습 니다. CRAN Mirrors 페이지는 지정된 국가별로 URL을 제공하고 있으며, 해당하는 국가 혹은 인접 국가의 페이지로 접속하여 다운로드 하는 것을 권장합니다.직접따라하기R 설치파일 다운..