01.aggregate 함수
aggregate: 데이터의 특정 컬럼을 기준으로 통계량을 구해주는 함수
문법:aggregate(계산될컬럼~기준될컬럼, 데이터 , 함수)
> aggregate(Sales~Year,Fruits,sum) <-- 년도 별로 Sales 된 수량을 Fruits라는 data셋에서 sum 한 결과
Year Sales
1 2008 279
2 2009 298
3 2010 268
> aggregate(Sales~Fruit,Fruits,sum) <- Fruit 별로 Sales 된 수량을 data셋에서 종류별로 sum 한 결과(Sales를 구해라 Fruit별로)
Fruit Sales
1 Apples 298
2 Bananas 260
3 Oranges 287
> aggregate(Sales~Fruit,Fruits,max) <-- Fruit별로 가장 맋이 Sales 된 수량
Fruit Sales
1 Apples 111
2 Bananas 94
3 Oranges 98
> aggregate(Sales~Fruit+Year,Fruits,max) <-- '+ 추가조건' 형태로 조건을 추가
Fruit Year Sales
1 Apples 2008 98
2 Bananas 2008 85
3 Oranges 2008 96
4 Apples 2009 111
5 Bananas 2009 94
6 Oranges 2009 93
7 Apples 2010 89
8 Bananas 2010 81
9 Oranges 2010 98
02.apply( )계열함수
1)lapply: list로 return (key/value이용)
2)sapply: 벡터.matrix로 return (데이터형이 같아야함)
03.plyr( )패키지
plyr: apply 함수를 확장한 것
ply( ) 라는 함수 앞에 두 글자를 적어 주게 되는데 첫 번째 글자는 입력될
데이터 유형이고 두 번째 글자는 출력될 데이터 유형이다
Data frame List Array
Dataframe ddply() ldply( ) adply( )
List dlply( ) llply( ) alply()
Array daply( ) laply( ) aaply( )
*d:data frame
a:array (matrix포함)
l:list
-------------------------------------------------
ex)ddply를 예로 들어보겠습니다
> fruits
year name qty price
1 2000 apple 6 6000
2 2000 banana 2 1000
3 2000 peach 7 3500
4 2000 berry 9 900
5 2001 apple 10 10000
6 2001 banana 7 3500
7 2001 peach 3 1500
8 2001 berry 15 1500
9 2002 apple 13 13000
10 2002 banana 10 5000
11 2002 peach 5 2500
12 2002 berry 11 1100
ddply(data,기준컬럼,적용함수나 결과들)
> ddply(fruits,'name„ , summarise , sum_qty=sum(qty), + sum_price=sum(price))
name sum_qty sum_price
1 apple 29 29000
2 banana 19 9500
3 berry 35 3500
4 peach 15 7500
라는 결과값이 나온다
'R programming' 카테고리의 다른 글
[R:03] 비정형 데이터 분석 기초(WordCloud이용) (0) | 2019.07.23 |
---|---|
[R:02]R에서 사용하는 데이터 타입 (0) | 2019.07.22 |
[R:01]데이터의 개념 및 R다운로드 방법 (0) | 2019.07.19 |