Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 핵개발
- R 기초
- t-test
- 통계오류
- 비선형성
- 수학적 사고
- 이기적 유전자
- 성악설
- 인터스텔라
- 통계 오류
- 비율
- 조던피더슨
- 산입범위
- 최저 시급
- 유닛테스트
- 티모시페리스
- 찬물샤워
- 비행기 추락
- 선형성
- 산입 범위
- 동전 던지기
- 최저시급 개정안
- t검정
- 큰수의 법칙
- 자기관리
- 멘탈관리
- 아인슈타인
- R 프로그래밍
- R4DS
- 핵 개발
Archives
- Today
- Total
public bigdata
tidyverse other verbs, tips 본문
0. filter tip
Base R에서는 인덱스 또는 인덱스에 해당하는 조건의 반환 값이 NA인 경우 NA를 반환한다.
데이터가 위와 같을 때 실행한 코드와 결과가 아래 있다. filter 함수는 조건이 NA로 반환되는 경우에는 해당 값을 반환하지 않고 무시한다. Base R의 경우에는 반환값을 NA로 뱉어준다.
###########Base R NA반환############
> iris[iris$Sepal.Length >=1, ]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
NA NA NA NA NA <NA>
NA.1 NA NA NA NA <NA>
###########tidyverse filter NA 대처 방법############
> iris %>%
+ filter(Sepal.Length>=1)
[1] Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<0 행> <또는 row.names의 길이가 0입니다>
1. n()
다음과 같은 데이터가 있을 때 아래의 코드와 결과를 보면 n() 은 group_by가 지정된 경우에 group 변수의 범주별 값의 갯수를 세어준다. (그룹 변수에 NA가 있다면 NA가 몇개인지도 세어준다.) 즉. setota값에 해당하는 관측치의 갯수를 세어준다. Species변수에 setosa가 들어있는 경우는 5건 이라는 것이다. 그룹이 지정된 상태에서 수행하면 그룹 변수의 각 범주별 관측치 갯수, 데이터 테이블에서 바로 적용하면 데이터 테이블의 전체 관측치 갯수를 세어준다. NA값은 신경쓸 필요가 없다. 관측치(개별 행들)가 몇 개 인지 세어주는 것이기 때문이다.
iris %>%
group_by(Species) %>%
summarise(count_PeWi = n())
# A tibble: 1 x 2
Species count_PeWi
<fct> <int>
1 setosa 5
2. summarise와 함께 사용되는 유용한 함수 중 일부
-
first, last : 변수별 첫번째, 마지막 값 산출
-
nth : n번째 값 산출
-
n_distinct : 유일무이한 값 개수 (NA값도 세어준다)
3. lead, lag
예시를 보면 쉽게 이해될 것이다.
-
lead : 해당 벡터를 원하는 길이 만큼 앞으로 이동한다
-
lag : 해당 벡터를 원하는 길이 만큼 뒤쪽으로 이동한다.
lead(1:10, 1)
#> [1] 2 3 4 5 6 7 8 9 10 NA
lead(1:10, 2)
#> [1] 3 4 5 6 7 8 9 10 NA NA
lag(1:10, 1)
#> [1] NA 1 2 3 4 5 6 7 8 9
lead(1:10, 1)
#> [1] 2 3 4 5 6 7 8 9 10 NA
4. top_n
- top_n(n, wt) : wt에 지정된 변수가 상위 n개인 테이터프레임의 행들을 선택한다.
5. arrange
- arrange 함수는 group_by를 무시한다.
'R programming' 카테고리의 다른 글
%>% (R4DS 일부, help("%>%) 일부) 정리 (0) | 2019.09.02 |
---|---|
apply 계열 함수 정리하기 (0) | 2019.09.01 |
Tidy evaluation, most common actions(개인적 정리)_비표준 평가 관련2 (0) | 2019.08.29 |
Programming with dplyr_비표준 평가 관련1 (0) | 2019.08.16 |
[R 코드 및 기능] 유닛테스팅 (0) | 2018.04.29 |