R

Google Colab with R

I. 들어가며 빅데이터 시대에 맞춰서 다양한 툴이 나오는 가운데, Google Colab은 가히 혁명적이라 할 수 있다. 과거 높은 사양의 컴퓨터에서만 수행할 수 있었던 머신러닝과 딥러닝을 구글 코랩의 환경에서 무료로 배울 수 있는 기회를 구글이 제공하기 시작했다. 간단하게 아래 소스코드를 실행하여 CPU와 GPU의 연산속도를 비교 해보자. GPU를 사용한 TensorFlow II. Google Colab with R Google Colab은 매우 편리하다. 실제 강의를 시작하면서 파이썬 관련 모든 강의안은 Google Colab으로 제작중이다. 문제는 현재로써는 Google Colab만 지원한다는 점이다.

R - Select Helper Functions

I. 개요 dplyr 문법에서 select에 대해 다룬다. 보통 select는 열 추출 함수로 소개되고 있다. 그런데, select 함수에는 열 추출을 할 때 도와주는 helper functions가 있는데, 간단하게 소개하고자 한다. starts_with ends_with contains matches num_range one_of 작은 도움이 되었기를 바란다. II. 사전 준비 본격적인 실습에 앞서서, 패키지를 로드 한다. library(dplyr) library(nycflights13) flights 데이터셋의 변수들을 확인하자. glimpse(flights) ## Rows: 336,776 ## Columns: 19 ## $ year <int> 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, … ## $ month <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … ## $ day <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … ## $ dep_time <int> 517, 533, 542, 544, 554, 554, 555, 557, 557, 558, 558,… ## $ sched_dep_time <int> 515, 529, 540, 545, 600, 558, 600, 600, 600, 600, 600,… ## $ dep_delay <dbl> 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, -2, -… ## $ arr_time <int> 830, 850, 923, 1004, 812, 740, 913, 709, 838, 753, 849… ## $ sched_arr_time <int> 819, 830, 850, 1022, 837, 728, 854, 723, 846, 745, 851… ## $ arr_delay <dbl> 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3, 7, -… ## $ carrier <chr> "UA", "UA", "AA", "B6", "DL", "UA", "B6", "EV", "B6", … ## $ flight <int> 1545, 1714, 1141, 725, 461, 1696, 507, 5708, 79, 301, … ## $ tailnum <chr> "N14228", "N24211", "N619AA", "N804JB", "N668DN", "N39… ## $ origin <chr> "EWR", "LGA", "JFK", "JFK", "LGA", "EWR", "EWR", "LGA"… ## $ dest <chr> "IAH", "IAH", "MIA", "BQN", "ATL", "ORD", "FLL", "IAD"… ## $ air_time <dbl> 227, 227, 160, 183, 116, 150, 158, 53, 140, 138, 149, … ## $ distance <dbl> 1400, 1416, 1089, 1576, 762, 719, 1065, 229, 944, 733,… ## $ hour <dbl> 5, 5, 5, 5, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, … ## $ minute <dbl> 15, 29, 40, 45, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, … ## $ time_hour <dttm> 2013-01-01 05:00:00, 2013-01-01 05:00:00, 2013-01-01 … 총 19개의 변수들로 구성이 되어 있는 것을 확인 할 수 있다.

ch04 - Modeling Visualisation

개요 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에 의해 주도적으로 개발되었다.

Shiny App Deployment Using GCP

I. 개요 Google Data Studio는 놀랍도록 유연한 도구로서 마케팅 대행사 중 Google Analytics를 활용한 업체들은 대부분 항상 사용합니다. 때로는 유연성이 더 필요할 때 R ’s Shiny 패키지를 사용하여 데이터 시각화 / 대시 보드 앱을 만드는 것이 매우 쉽습니다. 이 옵션을 사용하면 모든 소스의 데이터를 예측 모델링과 함께 사용할 수 있는 장점이 있습니다. 이 블로그 게시물은 3 부분으로 나누어져 있습니다. 먼저 Google Cloud Virtual Machine (VM)을 설정하고 웹 액세스를 허용하도록 방화벽 규칙을 구성합니다.

Basic Objects - Dataframe

공지 본 Tutorial은 강사에게 강의를 듣는 과거-현재-미래 학생들을 위해 작성하였습니다. 이 글을 읽어주시는 분들에게 작은 도움이 되기를 바랍니다. I. DataFrame의 개요 본 포스트는 프로그래밍과 R을 처음 배우는 사람을 위해 작성하였습니다. 짧게 읽어두시기를 바랍니다. 공부하실 때는 복잡하게 생각하지는 마시기를 바랍니다. 영어의 기본단어 및 문법을 배우듯이 그냥 받아들이시기를 바랍니다. 데이터프레임은 서로 다른 성질의 벡터가 모여 있는 집합이라고 할 수 있다.1 (1) 데이터프레임 생성 이제 데이터프레임을 만들어보자. 어려운 것은 아니니 쉽게 따라 올 수 있을 것이다.

ch03 - gghistostats

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에 의해 주도적으로 개발되었다.

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 벡터와 관련되어서 일반적으로 다음과 같은 함수에서 넓게 활용된다.