[R기초] apply 함수 (행, 열, 또는 각 원소에 함수를 일괄적용)
먼저 데이터프레임을 하나 만들어봅시다.
> myd=cbind(r1=1:10,r2=101:110,r3=1001:1110)
> head(myd)
r1 r2 r3
[1,] 1 101 1001
[2,] 2 102 1002
[3,] 3 103 1003
[4,] 4 104 1004
[5,] 5 105 1005
[6,] 6 106 1006
1) 가로 방향 일괄적용 (평균)
가로 방향의 평균을 구해봅시다. 아래와 같은 형식으로 입력합니다.
apply(데이터,방향,함수)
방향은 1이 가로방향, 2가 세로방향입니다.
> apply(myd,1,mean)
[1] 367.6667 368.6667 369.6667 370.6667 371.6667 372.6667 373.6667 374.6667 375.6667 376.6667 371.0000 372.0000 373.0000
[14] 374.0000 375.0000 376.0000 377.0000 378.0000 379.0000 380.0000 374.3333 375.3333 376.3333 377.3333 378.3333 379.3333
[27] 380.3333 381.3333 382.3333 383.3333 377.6667 378.6667 379.6667 380.6667 381.6667 382.6667 383.6667 384.6667 385.6667
[40] 386.6667 381.0000 382.0000 383.0000 384.0000 385.0000 386.0000 387.0000 388.0000 389.0000 390.0000 384.3333 385.3333
[53] 386.3333 387.3333 388.3333 389.3333 390.3333 391.3333 392.3333 393.3333 387.6667 388.6667 389.6667 390.6667 391.6667
[66] 392.6667 393.6667 394.6667 395.6667 396.6667 391.0000 392.0000 393.0000 394.0000 395.0000 396.0000 397.0000 398.0000
[79] 399.0000 400.0000 394.3333 395.3333 396.3333 397.3333 398.3333 399.3333 400.3333 401.3333 402.3333 403.3333 397.6667
[92] 398.6667 399.6667 400.6667 401.6667 402.6667 403.6667 404.6667 405.6667 406.6667 401.0000 402.0000 403.0000 404.0000
[105] 405.0000 406.0000 407.0000 408.0000 409.0000 410.0000
2) 세로 방향 일괄적용 (합)
이번에는 세로 방향의 평균을 구해봅시다.
> apply(myd,2,mean)
r1 r2 r3
5.5 105.5 1055.5
3) 각 원소에 적용 (루트)
각 원소에 함수를 적용하려면 방향에 c(1,2)를 입력하면 됩니다.
> apply(myd,c(1,2),sqrt)
r1 r2 r3
[1,] 1.000000 10.04988 31.63858
[2,] 1.414214 10.09950 31.65438
[3,] 1.732051 10.14889 31.67018
[4,] 2.000000 10.19804 31.68596
[5,] 2.236068 10.24695 31.70173
[6,] 2.449490 10.29563 31.71750
[7,] 2.645751 10.34408 31.73326
[8,] 2.828427 10.39230 31.74902
[9,] 3.000000 10.44031 31.76476
[10,] 3.162278 10.48809 31.78050
...
'9.유용한 함수모음 > apply 함수' 카테고리의 다른 글
[R] NA가 포함된 데이터의 평균을 apply 함수로 구하기 (0) | 2021.05.28 |
---|---|
[R] apply/ lapply/ sapply/ tapply/ mapply 함수 한눈에보기 (0) | 2020.12.24 |
[R] apply 함수를 이용하여 이항 데이터로 변형하기 (0) | 2020.09.28 |
댓글