IT | Computer/R

R 언어 통계 프로그래밍_lapply, sapply

바람난후제 2016. 8. 21. 06:40
반응형

R에서 유용하게 사용할 수 있는 function에 대해 설명하도록 하겠다.

 

1. lapply

1) 특정 함수의 결과를 list 형태로 반환한다.

2) 함수 설명

- 3개의 argument로 구성

- X: 반환되는 list

- FUN: function 이름

- … : 추가적 처리를 위한 arguments

- 실제 내부는 C code로 수행된다.

- lapply는 list를 항상 return 한다.

3) 예시

- x의 list에 있는 값들의 mean(평균)을 반환한다.

 

- runif는 개수 만큼의 random uniform 값을 반환하는데 lapply로 x list에 저장되게 된다.

- 임의의 함수를 사용하여 lapply를 사용할 수도 있다. Matrix의 첫 번째 column의 값을 반환하는 임의의 함수를 만들고 그것을 lapply 사용하여 x list에 반환할 수 있다.

위의 함수를 생성하고 해당 함수에 대한 lapply를 적용하였다.

List x에 대한 함수 col1을 적용시킨 결과를 반환한다.

col1를 그냥 x로 실행할 경우 dimension의 차이로 실행이 되지 않는다. 반복적으로 시행할 데이터가 있는 경우 해당 함수를 사용하면 유용하게 처리할 수 있을 것이다.

 

2. sapply

1) lapply의 결과를 보다 simple 하게 해주는 함수이다.

- length 1인 list의 결과는 vector로 반환된다.

- 동일한 length를 가진 vector를 가지는 list의 경우에는 matrix로 반환된다.

- 일반적인 경우, list를 반환한다. (lapply와 동일하다.)

- y는 lapply를 사용하여 list형태로 저장된다.

- z는 sapply를 사용하여 vector 형태로 저장된다.

반응형