일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 큰수의법칙
- 하합
- 큰 수의 법칙
- 시뮬레이션
- 구분구적법
- project euler
- counting sunday
- 프랙탈
- algeomath
- 지오지브라
- 몬테카를로
- 삼각함수의그래프
- python
- 상합
- 정오각형
- 블록코딩
- 작도
- java
- 재귀함수
- 이항분포
- 알지오매스
- 피타고라스 정리
- 수학탐구
- Geogebra
- 파이썬
- 제곱근의뜻
- 프로젝트 오일러
- 확률실험
- 리만합
- 오일러
Archives
- Today
- Total
이경수 선생님의 수학실험실
Loop Functions - lapply 본문
1. Loop Functions - lapply
lapply 함수는 리스트 또는 벡터에 적용하는 함수로써 아래 예와 같이 lapply(x,function)의 형태로 호출한다. lapply 함수는 리스트의 각 요소마다 함수를 적용하며, 그 결과를 리스트의 형식으로 반환한다. 아래 두 예는 리스트의 각 요소에 mean함수를 적용한 결과를 나타내고 있다.
> x <- list(a=1:10, b=2:7)
> lapply(x, mean)
$a
[1] 5.5
$b
[1] 4.5
> x <- list(a=1:5, b=rnorm(5), c=rnorm(10,5))
> lapply(x, mean)
$a
[1] 3
$b
[1] -0.1182277
$c
[1] 5.429224
2. Loop Functions - apply
apply 함수는 행렬을 포함한 배열에 적용하는 함수로써 호출형식은 apply(x,margin,function)이다. 여기서 margin=1이면 각 행에 대해 함수를 적용하고, margin=2이면 각 열에 대해 함수를 적용한다. 아래 예는 1부터 50까지의 정수를 성분으로 하는 10 × 5 행렬에서 행과 열 방향으로의 합과 평균을 구한 것이다.
> x <- matrix(1:50,10,5)
> apply(x,1,sum)
[1] 105 110 115 120 125 130 135 140 145 150
> apply(x,2,sum)
[1] 55 155 255 355 455
> apply(x,2,mean)
[1] 5.5 15.5 25.5 35.5 45.5
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 11 21 31 41
[2,] 2 12 22 32 42
[3,] 3 13 23 33 43
[4,] 4 14 24 34 44
[5,] 5 15 25 35 45
[6,] 6 16 26 36 46
[7,] 7 17 27 37 47
[8,] 8 18 28 38 48
[9,] 9 19 29 39 49
[10,] 10 20 30 40 50
다음 예에서 x는 표준정규분포에서 임의로 추출된 200개의 데이터로 채워진 20 × 10 행렬이다. 이 행렬의 각 행에 25%, 75%에 해당하는 데이터를 출력하는 quantile(사분위수)함수를 적용한 것이다.
> x <- matrix(rnorm(200), 20, 10)
> apply(x,1,quantile, probs=c(0.25,0.75))
[,1] [,2] [,3] [,4]
25% -0.85988791 -0.4054635 -0.5632274 -0.01264364
75% -0.03604571 0.8317090 0.5496814 1.07384233
[,5] [,6] [,7] [,8]
25% -0.6047505 -0.01576008 -0.7962243 -1.12751879
75% 0.9501326 1.33665211 0.6585633 -0.04778156
[,9] [,10] [,11] [,12]
25% -1.4503640 -0.07103027 -1.2727680 -0.2921057
75% 0.6247831 0.60133156 0.4038558 0.5207159
[,13] [,14] [,15] [,16]
25% -1.1272363 -1.19979426 -1.4606513 -0.6356902
75% 0.3248387 -0.05914067 0.5208336 0.3070407
[,17] [,18] [,19] [,20]
25% -0.3613290 -0.4694773 -0.08233558 -1.3095835
75% 0.9298255 0.1528634 0.74607664 -0.1198479
'R' 카테고리의 다른 글
The str Function(What is in this Object?) & summary Function (0) | 2021.04.16 |
---|---|
Loop Functions - split (0) | 2021.04.15 |
Function (0) | 2021.04.15 |
Control Structures_Next (0) | 2021.04.15 |
Control Structure_if else & for loops (0) | 2021.04.15 |
Comments