tidyr package
tidy하다는 것은..
- 하나의 셀에 하나의 데이터만 있다.
- 직선적으로 데이터를 찾아야한다. 행렬로
reshaping
- gather 열의 이름이 1999 2000 이럴때,, 그냥 year로 연도 병합하는게 좋다.
이럴때 gather 함수를 활용.
gather(data,'열 이름1','열 이름 2',key = "병합하고자 하는 열 1",value = "병합하고자 하는 열 2")
- spread()
하나의 열에 너무 데이터가 짬뽕일때.
예를 들어 열이름1의 데이터가 너무 짬뽕이라 보기 힘들면 열이름 1의 내부의 데이터가
차라리 열이 되는 것.
spread(data, '열이름1','열이름2')
결측치 다루기
1.drop_na() - na값 다 죽이기
drop_na(data,'Na값 있는열')
- fill() - 열의 na값 전부를 가장 최근값으로 한번에 바꿔버림
fill(data,'Na값 있는열')
- replace_na(x, list(열 = replace할 값)
##na가 엄청 많을때, 예를들어 설문조사 빈자리를 ‘보통이다’ 로 할때
replace_na(x,list(x2=2)) >> x2의 Na값이 다 2로
- complete(data = full_seq(추가하고자 하는 열, 추가 할 단위), 추가 하고자 하는 열 2)
df %>% complete(year =full_seq(year,1),qtr)
분리시키기
seperate(data, 값이 중복되게 존재하는 열, sep =’분리단위’, into=c(”이 문자열로 분리”,”이 문자열로 분리2”)
separate(df,rate, sep="/",into=c("cases","pop")
rete 뭐 이렇게 있는거다.
0.7k/19m
0.5k/23m
- separate_rows(data,분리하고자 할 열, sep =’ /’)
예를들어 열 안에 0.7k/1.9M 이렇게 / 를 사이로 두고 데이터가 겹칠때 이들을 분리해주는것
- Unite(data, 열1,열2, col= 통합할 열, sep=””)
만약 열이 이 두개가 있고 열을 통합할때.
century. year
19 23
29 77
통합할 열
1923
2977
이런식으로 되는 것. sep =”0” 으로 둔다면
19023
29077
이런식으로 될 것이다.
'R studios' 카테고리의 다른 글
R통계 : Theme #8. 시각화, ggplot 그래프 (0) | 2024.05.27 |
---|---|
R통계 : Theme #7. 시각화, 그래프 (0) | 2024.05.27 |
R통계 : Theme#5. 데이터 정제 (결측치와 이상치) 다루기 (0) | 2024.05.27 |
R통계 : Theme #4. Dplyr package (0) | 2024.05.27 |
R 통계 : Theme #3 : 데이터 조작 ( 기본 함수) (1) | 2024.05.27 |