R의 apply 함수들을 살펴봤는데 이와 함께 사용할 수 있는 유용한 split() 함수에 대해서 알아보도록 하자. split split은 말 그대로 데이터를 나누는 함수이다. 벡터, 리스트, 데이터셋과 같은 객체를 지정된 팩터(factor)에 따라 분리하는 기능을 한다. split을 이해하기 위해서 먼저 데이터를 생성해보자. rnorm(10)을 이용해서 평균 0, 표준편차 1인 정규분포의 수 10개를 생성하고, runif(10)를 이용해서 균등분포를 갖는 10개의 수를 만들고, rnorm(10, 1)을 통해 평균 1, 표준편차 1인 정규분포의 임의의 숫자 10개를 만든다. 그리고 gl(3, 10)을 통해 3개의 팩터(factor)1, 2, 3에 해당하는 각각의 수 10개를 만든다. 이후 split(x,..
R에는 lapply, sapply, vapply, apply, tapply등 다양한 apply 함수들이 존재한다. 데이터 분석에서 "Split-Apply-Combine" 이라는 전략을 구현한 것이 바로 apply이다. 즉, 데이터셋을 나누어서 각 조각들을 만들고, 각각의 조각에 특정 함수를 적용하고, 결과를 합쳐서 제공한다는 것이다. lapply 먼저 lapply부터 살펴보자. lapply의 l은 리스트를 나타낸다. 즉, 입력으로 리스트를 받아서 결과로 리스트를 제공한다는 것이다. lapply를 테스트하기 위해 먼저 리스트를 만들어 보자. rnorm은 정규 분포를 따르는 수를 만드는 것으로, rnorm(10)은 기본값으로 평균 0, 표준편차 1인 정규분포를 갖는 10개의 수를 만든다. 리스트의 각 항목,..