반응형
데이터 전처리
- 데이터 전처리 패키지는 전처리 작업에 필요한 함수들을 모아놓은 패키지
- 패키지 유형 : plyr, dplyr, reshape2, data.table
plyr
- 원본 데이터를 분석하기 쉬운 형태로 나눠서 다시 새로운 형태로 만들어 주는 패키지
- 데이터 분할(split), 특정 함수 적용(apply), 재조합(combine)하여 반환
- 패키지 함수는 **ply 형태 (data frame, list, array )
- 첫 번째 입력, 두 번 째 출력 - adply 라면 array로 입력 받아 data frame으로 출력
adply
adply(iris, 1, function (row) {row$Sepal.Length >= 5.0 & row$Species == "setosa"})
- adply함수를 통해 데이터 프레임의 각 행을 확인 (Length가 5이상이고, setosa)인지 확인하고 그 결과를 새로운 컬럼 V1(자동 생성)에 기록 - 조건을 만족하면 TRUE, 아니면 FALSE (이미지에는 setosa, V1 )
ddply
ddply(iris, .(Species, Petal.Length<1.5), function(sub) {
data.frame(
+ mean_to=mean(sub$Sepal.Length), mean_so=mean(sub$Sepal.Width),
+ mean_wo=mean(sub$Petal.Length), mean_jo= mean(sub$Sepal.Width) + )})
- Species와 Petal.Length가 1.5 미만인지의 여부로 데이터를 네 개의 변수로 그룹화하여 평균 출력
transform
- 데이터 프레임에 새로운 변수를 추가할 수 있는 함수
- transform(_data, tag1=value1, tag2=value2, ...)
transform(iris, Total.w=Sepal.Width+Petal.Width)
dpylr
- 데이터 전처리는 분석에 적합하도록 데이터를 가공하는 작업
- 데이터 일부를 추출하거나, 종류별로 나누거나, 여러 데이터를 합치는 등의 데이터 가공
- R에서 데이터 전처리 시 가장 많이 사용되는 패키지
- %>% 는 ctrl + shift + m 단축키를 사용하면 편리하다.
select
- 데이터에서 원하는 변수의 특정 열만 추출하는 함수
filter
- 원하는 조건에 따라서 데이터를 필터링하고 추출
mutate
- 기존 데이터에 파생변수를 만들어 추가할 수 있는 함수
- 데이터 프레임 이름 %>% mutate(새로운 변수명=값)
- filter 함수를 통해 virginica 데이터만 추출하고, mutate를 통해 꽃 받침 길이가 6보다 길면 L, 작거나 같으면 S를 범주로하는 파생변수 Len 생성
group_by, summarise
- group_by : 지정 변수를 기준으로 데이터 그룹화, summarise : 요약 통계치를 계산하는 함수
- iris 데이터에 대해 품종을 기준으로 그룹화 한 뒤, 품종별 꽃잎 너비의 평균 출력
arrange
- 특정 열 기준으로 데이터 정렬해주는 함수
- defalut : 오름차순, desc : 내림차순
inner_join
- 두 데이터 프레임에서 공통적으로 존재하는 모든 열을 병합
- Department를 기준으로 하여 X, Y에 공통적으로 존재하는 모든 열을 병합
reshape2
- melt와 cast 함수를 사용하는 함수
- melt : 원데이터의 여러 변수명과 변숫값이 행에 존재할 수 있도록 데이터를 변환하는 함수
- cast : 데이터의 모양을 다시 재조합하는 함수
install.packages("MASS") #reshape2도 설치
libarary(MASS)
> a <- melt(data = Cars93,
+ id.vars = c("TYPE", "Origin"),
+ measure.vars = c("MPG.city", "MPG.highway"))
반응형