R

ch02 - Histogram

Intro A picture is worth a thousand words — English Language Adage The simple graph has brought more information to the data analyst’s mind than any other device. — John Tukey 한장의 그림이 수천단어보다 가치가 있다는 영어속담과, 명료한 시각화가 데이터분석가에게 다른 어떤 도구보다 더 많은 정보를 제공한다는 유명한 데이터 과학자의 조언. 핵심은 시각화이다. 본 장에서는 ggplot2 패키지를 활용한 시각화를 먼저 보여줄 것이다. 먼저 간단하게 ggplot2 패키지에 소개하자면 Grammar of Graphics1의 철학을 담아서 R 생태계에서 유명한 학자 중, Hadley Wickham에 의해 주도적으로 개발되었다.

stackoverflow with dplyr 01 - mutate_all

I. 개요 dplyr 문법에 관한 설명은 사실 차고 넘친다. 구체적인 설명은 하지 않겠다. Google이나 Naver에서 dplyr을 검색해보자! 검색하면 쉽게 정리된 글들이 많이 있다. 그런데, 실제 실무에서 다루는 데이터의 질과 양은 다 다르다. 데이터 가공은 결국 연구자의 환경에 따라 달라지는데, 조금 더 효과적으로 dplyr 문법을 사용하려면 결국엔 아이디어가 필요하고, 그리고 stackoverflow를 찾게 되어 있다. 집단 지성의 힘이랄까? 그래서 가급적, stackoverflow에 나와 있는 문제 중 재미있는 해결법 등을 소개하며 연재하려고 한다. 제 강의를 들으신 분들에게 작은 도움이 되기를 바랍니다.

list handling

I. 개요 모든 프로그래밍 언어에는 기본적으로 데이터타입이 존재한다. R도 프로그래밍 언어이기 때문에 데이터 타입의 일반적인 유형이 존재한다. Vector의 기본 개념을 익혔다면, 전반적인 구조에 대해 살피는 시간을 갖도록 한다. 먼저 동일 성질의 Vector가 모여서 matrix도 되고, 데이터프레임도 된다. 그리고 이러한 다양한 데이터의 구조가 모여 리스트를 형성하는데, 리스트를 만드는 것도 중요한 건, 즉 이해다. 리스트에 접근법이 중요한데, 리스트를 잘 다루면, apply 함수 계열을 사용하는데도 큰 도움이 된다. 특히, 100GB 이상의 데이터를 다루게 되면, apply() 함수로 작업해야 하는 일이 종종 발생한다.

vcrts01 - Combining Vectors

I. 개요 vctrs 패키지. Vector Helpers 패키지1라고 불리운다. 벡터를 활용할 때, 어려운 부분은 데이터와 조합해서 사용할 때다. 특히 서로다른 성질의 Vectors를 Combining 할 때 발생하는 에러에 대해 효과적으로 해결할 수 있는 대안을 제시한다. II. Vectors 벡터에 관한 기초 부분은 여기에서 생략하고, 필자가 작성한 기초 부분에서 참조하기를 바란다. Basci Objects (1) 벡터의 정의 R의 기본문법에서 벡터의 정의는 다음과 같다. c(1, 2, 3) ## [1] 1 2 3 c("a", "b", "c") ## [1] "a" "b" "c" (2) tidyverse 벡터와 관련되어서 일반적으로 다음과 같은 함수에서 넓게 활용된다.

Ch03 Components of Process Data

I. 개요 지난시간에 patients에 관한 데이터를 통해서 프로세스 분석에 대한 일반적인 개념을 접했다. 이번 포스트에서는 bupaR에 대한 이론적인 내용과 함께 간단하게 실습을 진행하도록 한다. 지난시간과 마찬가지로 먼저 데이터를 획득하는 것에서부터 출발한다. library(bupaR) library(eventdataR) patients <- patients dim(patients) ## [1] 5442 7 5442행과 7개의 열이 확인되었다. class(patients) ## [1] "eventlog" "tbl_df" "tbl" "data.frame" II. 용어 정리 우선 용어 정리가 필요하다. Events, Event log, Activity 등등. 하나씩 살펴보자. (1) Events 우선 Events에 관한 이해를 돕기 위해 아래 그림을 우선 살펴보자.

More on Vectors and Indexing

공지 본 Tutorial은 강사에게 강의를 듣는 과거-현재-미래 학생들을 위해 작성하였습니다. 이 글을 읽어주시는 분들에게 작은 도움이 되기를 바랍니다. I. 벡터 본 포스트는 프로그래밍과 R을 처음 배우는 사람을 위해 작성하였습니다. 짧게 읽어두시기를 바랍니다. 공부하실 때는 복잡하게 생각하지는 마시기를 바랍니다. 영어의 기본단어 및 문법을 배우듯이 그냥 받아들이시기를 바랍니다. 현재 진행중인 R 기초문법은 아래와 같습니다. 원하시는 것은 참조해서 가볍게 공부하시기를 바랍니다. Basic Objects - Vector 벡터(Vector). R에서 다루는 가장 작은 단위값의 데이터다. 1차원으로 구성이 되어 있다.

Basic Objects - Vector

공지 본 Tutorial은 강사에게 강의를 듣는 과거-현재-미래 학생들을 위해 작성하였습니다. 이 글을 읽어주시는 분들에게 작은 도움이 되기를 바랍니다. I. 벡터 본 포스트는 프로그래밍과 R을 처음 배우는 사람을 위해 작성하였습니다. 짧게 읽어두시기를 바랍니다. 공부하실 때는 복잡하게 생각하지는 마시기를 바랍니다. 영어의 기본단어 및 문법을 배우듯이 그냥 받아들이시기를 바랍니다. 벡터(Vector). R에서 다루는 가장 작은 단위값의 데이터다. 1차원으로 구성이 되어 있다. (1) 4가지 벡터 크게 4가지의 벡터가 존재한다. 간단하게 코드를 작성해보자. xNum <- c(1, 3.

Ch02 Process Analysis Basic

I. 개요 지난시간에 patients에 관한 데이터를 통해서 프로세스 분석에 대한 일반적인 개념을 접했다. 이번 포스트에서는 bupaR에 대한 이론적인 내용과 함께 간단하게 실습을 진행하도록 한다. 지난시간과 마찬가지로 먼저 데이터를 획득하는 것에서부터 출발한다. library(bupaR) library(eventdataR) patients <- patients dim(patients) ## [1] 5442 7 5442행과 7개의 열이 확인되었다. class(patients) ## [1] "eventlog" "tbl_df" "tbl" "data.frame" 그리고, 데이터는 eventlog, tbl_df, data.frame으로 구성된 것을 확인할 수 있다. 기존에 R을 학습한 사람들은 tbl & data.frame에 대해서 한두번쯤 들었을 거라 생각한다.

Ch04_bigquery_with_R

1. 구글 클라우드 설정 본격적인 빅쿼리 실습에 앞서서, R과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다. 만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to Cloud Resource Manager 그리고, 비용결제를 위한 카드를 등록한다. Enable billing 마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.Enable BigQuery 위 API를 이용하지 않으면 Python 또는 R과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 BigQuery 권장사항: 비용 관리에서 확인하기를 바란다.

Ch01 Process Analysis Intro

I. Process Mining Intro 모든 비즈니스는 프로세스와 연관이 깊다. 이러한 데이터를 통상적으로 event라고 부르며, 다루는 데이터는 log 데이터와 연관이 깊다. 프로세스 마이닝(Process Mining)은 데이터의 추출, 프로세싱, 그리고 분석의 순으로 진행한다. 데이터 추출 (Extraction): Raw Data를 Event Data로 변환시킨다. 프로세싱 (Processing): 데이터 가공과 비슷하며, 보통 Aggregation, Filtering, Enrichment의 용어가 등장한다. 분석 (Analysis): Performance, Control-Flow 등과 연관된 분석이 진행된다. 우선 빠르게 시각화부터 진행해보자. library(bupaR) library(httr) library(processmapR) library(edeaR) url <- 'https://github.com/chloevan/datasets/blob/master/log/log_eat_patterns.RDS?raw=true' patterns <- readRDS(url(url)) trace_explorer(patients, coverage=1) 위 그래프에 대한 해석은 나중에 하더라도, 위 데이터를 보면, Rgst아 TraA는 공통으로 존재하고, 경로에 따라서 X-Ray, Blood Test에 나뉘는 걸 봐서는 환자의 경로에 관한 데이터임을 알 수 있다.