년도: 2017

비지니스를 위한 R을 배우는 6 가지 이유

비즈니스를 위한 데이터 과학 (DS4B)은 비즈니스 분석의 미래이지만 아직 시작해야 할 부분을 파악하기가 어렵습니다. 마지막으로하고 싶은 일은 잘못된 도구로 시간을 낭비하는 것입니다. 시간을 효과적으로 활용하려면 (1) 작업에 적합한 도구 선택과 (2) 도구를 사용하여 비즈니스 가치를 반환하는 방법을 효율적으로 학습하는 두 가지가 있습니다. 이 기사에서는 첫 번째 부분에 초점을 맞추어 왜 R이 6 가지 점에서 올바른 선택인지 설명합니다. 다음 기사에서는 12주 안에 R을 배우는 두 번째 부분에 초점을 맞 춥니 다. REASON 1: R HAS THE BEST OVERALL QUALITIES   There are a number of tools available business analysis/business intelligence (with DS4B being a subset of this area). Each tool has its pros and cons, many of which are important in the business context. We can use these attributes to compare how each tool stacks up against the others! We did a qualitative assessment using several criteria: Business Capability (1 = Low, 10 = High) Ease of Learning (1 = Difficult, 10 = Easy) Cost (Free/Minimal, Low, High) Trend (0 = Fast Decline, 5 = Stable, 10 = Fast Growth) Further discussion on the assessment is included in the Appendix at the end of the article. What we saw was particularly interesting. A trendline developed exposing a tradeoff between learning curve and DS4B capability rating. The most flexible tools are more difficult to learn but tend to have higher business capability. Conversely, the “easy-to-learn” tools are often not the best long-term tools...

Read More

Five Tips to Improve Your R Code (article) by DataCamp

Five useful tips that you can use to effectively improve your R code, from using seq() to create sequences to ditching which() and much more! @drsimonj here with five simple tricks I find myself sharing all the time with fellow R users to improve their code! 1. More fun to sequence from 1 Next time you use the colon operator to create a sequence from 1 like 1:n, try seq(). # Sequence a vector x <- runif(10) seq(x) #> [1] 1 2 3 4 5 6 7 8 9 10 # Sequence an integer seq(nrow(mtcars)) #> [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #> [24] 24 25 26 27 28 29 30 31 32 The colon operator can produce unexpected results that can create all sorts of problems without you noticing! Take a look at what happens when you want to sequence the length of an empty vector: # Empty vector x <- c() 1:length(x) #> [1] 1 0 seq(x) #> integer(0) You’ll also notice that this saves you from using functions like length(). When applied to an object of a certain length, seq() will automatically create a sequence from 1 to the length of the object. 2. vector() what you c() Next time you create an empty vector with c(), try to replace it with vector("type", length). # A numeric vector with...

Read More

thomasp85/patchwork: The Composer of ggplots

patchwork     The goal of patchwork is to make it ridiculously simple to combine separate ggplots into the same graphic. As such it tries to solve the same problem as gridExtra::grid.arrange() but using an API that incites exploration and iteration. Installation You can install patchwork from github with: # install.packages("devtools") devtools::install_github("thomasp85/patchwork") Example The usage of patchwork is simple: just add plots together! library(ggplot2) library(patchwork) p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp)) p2 <- ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear)) p1 + p2 you are of course free to also add the plots together as part of the same plotting operation: ggplot(mtcars) + geom_point(aes(mpg, disp)) + ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear)) layouts can be specified by adding a plot_layout() call to the assemble. This lets you define the dimensions of the grid and how much space to allocate to the different rows and columns p1 + p2 + plot_layout(ncol = 1, heights = c(3, 1)) If you need to add a bit of space between your plots you can use plot_spacer() to fill a cell in the grid with nothing p1 + plot_spacer() + p2 You can make nested plots layout by wrapping part of the plots in parentheses – in these cases the layout is scoped to the different nesting levels p3 <- ggplot(mtcars) + geom_smooth(aes(disp, qsec)) p4 <- ggplot(mtcars) + geom_bar(aes(carb)) p4 + { p1 + { p2 + p3 + plot_layout(ncol = 1) } }...

Read More

rOpenSci | Magick 1.6: clipping, geometries, fonts, fuzz, and a bit of history

Magick 1.6: clipping, geometries, fonts, fuzz, and a bit of history   Jeroen Ooms   | DECEMBER 5, 2017 This week magick 1.6 appeared on CRAN. This release is a big all-round maintenance update with lots of tweaks and improvements across the package. The NEWS file gives an overview of changes in this version. In this post we highlight some changes. library(magick) stopifnot(packageVersion('magick') >= 1.6) If you are new to magick, check out the vignette for a quick introduction. Perfect Graphics Rendering I have fixed a few small rendering imperfections in the graphics device. The native magick graphics device image_graph() now renders identical or better quality images as the R-base bitmap devices png, jpeg, etc. One issue was that sometimes magick graphics would show a 1px black border around the image. It turned out this is caused by rounding of clipping coordinates. When R calculates clipping area it often ends up at non-whole values. It is then up to the graphics device to decide what to do with the pixel that is partially clipped. Let’s show clipping in action: testplot <- function(title = ""){ plot(1, main = title) abline(0, 1, col = "blue", lwd = 2, lty = "solid") abline(0.1, 1, col = "red", lwd = 3, lty = "dotted") abline(0.2, 1, col = "green", lwd = 4, lty = "twodash") abline(0.3, 1, col = "black", lwd = 5, lty = "dotdash") abline(0.4, 1, col = "purple", lwd = 6, lty =...

Read More

데이터 전처리 -데이터 전처리(클린징)에 대한 모든 것

본 포스팅에서는 탐색적 데이터 분석(EDA)라고 불리우는 단계에서 수행해야 할 Task에 대해 순서대로 정리해 보고자 합니다. EDA는 데이터 셋 확인 – 결측값 처리 – 이상값 처리 – Feature Engineering 의 순서로 진행합니다. 데이터 분석의 단계 중 가장 많은 시간이 소요되는 단계가 바로 Exploratory Data Analysis 단계입니다. Forbes에서 인용한 CrowdFlower의 설문 결과에 따르면 데이터 분석가는 업무 시간 중 80%정도를 데이터 수집 및 전처리 과정에 사용한다고 합니다. (하지만 동일 설문에서 데이터 분석 업무 중 가장 싫은 단계로 꼽히기도 했다죠.) 본 포스팅에서는 탐색적 데이터 분석(EDA)라고 불리우기도 하는 데이터 전처리 단계에서 수행해야 할 Task에 대해 순서대로 정리해 보고자 합니다.  데이터 전처리는 데이터 셋 확인 – 결측값 처리 – 이상값 처리 – Feature Engineering 의 순서로 진행합니다. 1 데이터 셋 확인 분석하고자 하는 데이터 셋과 친해지는 단계입니다. 데이터 셋에 대해 아래 두가지 확인 작업을 하게 됩니다. A. 변수 확인 독립/종속 변수의 정의, 각 변수의 유형(범주형인지 연속형인지), 변수의 데이터 타입(Date인지, Character인지, Numeric 인지 등)을 확인합니다. 다른 툴도 마찬가지겠지만, R을 사용하는 분들은 변수의 데이터 타입에 따라 모델 Fitting 할때 전혀 다른 결과가 나오기 때문에 사전에 변수 타입을 체크하고, 잘못 설정되어 있는 경우 이 단계에서 변경해 주세요. B. RAW 데이터 확인 B-1. 단변수 분석 변수 하나에 대해 기술 통계 확인을 하는 단계입니다. Histogram이나 Boxplot을 사용해서 평균, 최빈값, 중간값 등과 함께 각 변수들의 분포를 확인하면 됩니다. 범주형 변수의 경우 Boxplot을 사용해서 빈도 수 분포를 체크해 주면 됩니다. B-2. 이변수 분석 변수 2개 간의 관계를 분석하는 단계 입니다. 아래 그림과 같이 변수의...

Read More

태그

error: Content is protected !!