#### "MASS" package 와 Aids2 데이터 ####
Aids2 # 패키지가 안깔리면 object를 찾을 수 없다고 뜬다.

install.packages("MASS") # 1. MASS 패키지 설치
library(MASS) # 2. MASS 패키지 사용
data(Aids2) # 3. MASS패키지 속의 Aids2 data사용

Aids2
str(Aids2) # 4. Aids2 데이터 구조 확인
?Aids2 # 5. 데이터 설명보기

head(Aids2) # 6. 데이터 간략하게 보기


#### summary() ####
summary(Aids2)

# age가 0세인 사람도 있는지 위치 확인
Aids2[ Aids2$age == 0, ]
Aids2[ which(Aids2$age == 0), ]


# 살아있는 사람 명수 확인
Aids2[ Aids2$status == "A", ]
length(Aids2[ Aids2$status == "A", ]) # df의 length는 칼럼수가 나와버림..
nrow(Aids2[ Aids2$status == "A", ])


#### aggregate( df$칼럼인덱싱, by=***list(df$기준칼럼인덱싱1, 2) ~에 따른, 통계함수 mean) ####
# *** 살아있는 사람들 중, 성별에 따른, age의 평균
# - sum은 해봤자 의미가없음.. 나이라서

# 1) 살아있는 사람만 인덱싱으로 일단 뽑는다.***
Alive <- Aids2[ Aids2$status == "A", ]

# 2) aggregate()함수를 이용해 ***기준칼럼에 따른 특정칼럼의 평균을 구한다.***
aggregate(Alive$age, by=list( Alive$sex ), mean)

# 3) 죽은사람들 중 성별에 따른 age의 평균 도 마찬가지
Dead <- Aids2[ Aids2$status == "D", ]
aggregate(Dead$age, by=list( Dead$sex ), mean)

####  ***살/죽은 사람을 인덱싱으로 뽑는 과정 없이, 기준칼럼2로 등록하여 한방에 aggregate()로 뽑아보기*** ####
# *** 기준을 2개를 넣는 방법 *** my)2개이상 들어갈 수 있어서,,,미리 by=에 기본적으로 list()를 적어주었구나..
aggregate(Aids2$age, by = list(Aids2$sex, Aids2$status), mean)

+ Recent posts