본문 바로가기

Test Code/R

[R] tapply 함수

tapply 함수는 그룹된 데이터를 그룹별로 특정 함수를 처리합니다.



데이터는 R 프로그램에 내장된 데이터를 사용합니다.

> data(npk)

> npk

   block N P K yield

1      1 0 1 1  49.5

2      1 1 1 0  62.8

3      1 0 0 0  46.8

4      1 1 0 1  57.0

5      2 1 0 0  59.8

6      2 1 1 1  58.5

7      2 0 0 1  55.5

8      2 0 1 0  56.0

9      3 0 1 0  62.8

10     3 1 1 1  55.8

11     3 1 0 0  69.5

12     3 0 0 1  55.0

13     4 1 0 0  62.0

14     4 1 1 1  48.8

15     4 0 0 1  45.5

16     4 0 1 0  44.2

17     5 1 1 0  52.0

18     5 0 0 0  51.5

19     5 1 0 1  49.8

20     5 0 1 1  48.8

21     6 1 0 1  57.2

22     6 1 1 0  59.0

23     6 0 1 1  53.2

24     6 0 0 0  56.0


그룹별 평균

> tapply(npk$yield, npk$block, mean)

     1      2      3      4      5      6 

54.025 57.450 60.775 50.125 50.525 56.350 



그룹별 표준편차

> tapply(npk$yield, npk$block, sd)

       1        2        3        4        5        6 

7.269285 2.043689 6.790373 8.150000 1.486327 2.435159 



그룹별 정규성 검정

> tapply(npk$yield, npk$block, shapiro.test)

$`1`


Shapiro-Wilk normality test


data:  X[[1L]]

W = 0.9456, p-value = 0.689



$`2`


Shapiro-Wilk normality test


data:  X[[2L]]

W = 0.907, p-value = 0.4664



$`3`


Shapiro-Wilk normality test


data:  X[[3L]]

W = 0.8955, p-value = 0.409



$`4`


Shapiro-Wilk normality test


data:  X[[4L]]

W = 0.8199, p-value = 0.143



$`5`


Shapiro-Wilk normality test


data:  X[[5L]]

W = 0.9295, p-value = 0.5916



$`6`


Shapiro-Wilk normality test


data:  X[[6L]]

W = 0.9848, p-value = 0.9298



그룹별 Plot

par(mfrow=c(3,2))

tapply(npk$yield, npk$block, plot)










'Test Code > R' 카테고리의 다른 글

[R] abline 그리기  (0) 2014.01.09
[R] 그룹데이터 만들기  (0) 2014.01.09
[R] 멀티 plot  (0) 2014.01.06
[R] 빈 Plot에서 텍스트 쓰기  (0) 2014.01.04
[R] plot을 이미지로 저장  (0) 2014.01.04