R6 basics
R6 R6는 기존에 존재하던 RC(Reference Class)와 유사한 Class의 기능을 제공합니다. 하지만 RC와는 다르게 S4 시스템에 의존하지 않으면서 RC보다 더 효율적으로 동작합니다 R에서는 기본적으로 copy-on-modify가 적용됩니다. 다시 말하자면, object를 조금이라도 수정하게 되면 object를 복사한 다음에 수정을 하게 됩니다. 하지만 RC, R6의...
R6 R6는 기존에 존재하던 RC(Reference Class)와 유사한 Class의 기능을 제공합니다. 하지만 RC와는 다르게 S4 시스템에 의존하지 않으면서 RC보다 더 효율적으로 동작합니다 R에서는 기본적으로 copy-on-modify가 적용됩니다. 다시 말하자면, object를 조금이라도 수정하게 되면 object를 복사한 다음에 수정을 하게 됩니다. 하지만 RC, R6의...
Getting Started with Plotly for R Plotly 서비스의 코어 부분인 Plotly.js가 오픈소스화 되었습니다. 그 영향으로 로컬 환경에서 plotly를 이용해 인터렉티브 차트를 그릴 수 있게 되었습니다. 파이썬 등 다른 언어를 통해서도 지원하지만, R의 경우 ggplot2와의 호환성이 높다는 것이 큰 특징이라고 할...
tidyr Utilities tidyr 패키지에서 가장 중심이 되는 기능은 gather와 spread를 이용한 데이터 형태 변환이다. 하지만 이전 포스팅에서도 다루었지만, NA를 처리하는 replace_na나 fill 등 데이터를 편리하게 정제할 수 있는 도구들을 제공하기도 한다. 여기서는 이전까지의 글에서 다루지 않았던 tidyr의 다른 기능에 대해서...
Grouped bar chart http://bl.ocks.org/mbostock/3887051를 보고 수정하면서 알게 된 내용을 정리하려고 한다. 위 예제에서는 x축의 scale함수를 그룹에 대한 scale과 그룹 내에서 막대의 위치에 대한 scale 두 개로 나누어서 막대를 배치하는 방식으로 구성했다. 여기서는 D3를 이용해서 기본적인 막대그래프를 만드는 방법은 알고 있다고...
Memoization 메모이제이션(memoization)은 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술이다 https://ko.wikipedia.org/wiki/메모이제이션 여기서는 memoise 패키지에 구현된 함수를 사용한다 memoization 여부에 따른 성능 차이를 확인해보기 위해 쓸데없이...