일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자기관리
- 수학적 사고
- 멘탈관리
- 동전 던지기
- R 프로그래밍
- 통계 오류
- t검정
- 이기적 유전자
- 산입 범위
- 조던피더슨
- 큰수의 법칙
- 성악설
- 핵개발
- R4DS
- 티모시페리스
- 통계오류
- 선형성
- 찬물샤워
- 비행기 추락
- 비율
- 아인슈타인
- 유닛테스트
- 산입범위
- 비선형성
- 인터스텔라
- R 기초
- 최저시급 개정안
- t-test
- 최저 시급
- 핵 개발
- Today
- Total
public bigdata
R4DS (R FOR DATASCIENCE) 7장 tibble로 하는 티블 본문
R4DS (R FOR DATASCIENCE) 7장 tibble로 하는 티블
public bigdata 2019. 12. 23. 22:517.1
1) 티블은 사실은 데이터프레임이지만, 오래된 동작들을 수정한 객체이다.
2) tidyverse의 작업을 약간 쉽게 만들어주는 고집 있는 데이터프레임을 제공
3) tibble은 입력의 유형을 절대로 변경하지 않는다 Ex. character --> factor
4) 변수의 이름을 바꾸거나 행 이름을 생성하지 않는다.
5) tibble은 R 변수명으로 유효하지 않은 이름도 열 이름으로 가질 수 있다.(단. 이 변수들을 참조하려면 역따옴표 `로 감싸야 한다.)
3) 더 자세히 배우려면 vignette("tibble")을 이용하면 된다.
7.2
1) as_tibble : 일반적인 데이터프레임을 티블로 강제 변환
2) tibble : data.frame과 같은 tibble을 생성하는 함수
3) tribble : 아래 참조, 적은양의 데이터를 읽기 쉬운 형태로 배치하여 생성이 필요한 경우
tribble(
~x,~y,~z,
#--|--|----
"a", 2, 3.6,
"b", 1, 2.5
)
7.3
티블은 데이터프레임을 화면 출력할 때 일부만 출력되도록 설정되어 있다. 이를 컨트롤 하는 방법은 아래와 같다
1) print : n, widht=Inf를 설정해 주면 모든 열과 원하는 행 수만큼 출력할 수 있다.
2) option : 기본 옵션을 지정하여 기본 출력 동작을 제어할 수도 있다.
options(tibble.print_max = n, tibble.print_min = m) # m행 이상인 경우, n행만 출력
options(dplyr.print_min = Inf) # 모든 행을 항상 출력
options(tibble.width = Inf) # 화면 너비와 상관없이 항상 모든 열을 출력
3) package?tibble 를 통해서 tibble 패키지에 대해서 자세한 내용을 알 수 있다.
7.3.2 서브셋 하기
$, [[ 을 파이프에서 사용하는 방법
## 방법 1 ##
iris %>%
.$Sepal.Width
## 방법 2 ##
iris %>%
.[["Sepal.Width"]]
## 방법 3 ##
iris %>%
`[[`("Sepal.Width")
## 방법 4 ##
iris %>%
`$`("Sepal.Width")
## 방법 5 ##
iris %>%
`$`(Sepal.Width)
7.4
티블은 주로 filter, select 함수를 통해 서브셋을 하는데 데이터프레임은 []을 통해서 서브셋을 주로 한다. 그런데 베이스R의 []은 어떨 때는 데이터프레임을 반환하고, 또 어떨 때는 벡터를 반환하는데 반해 티블에서 []는 항상 다른 티블을 반환하도록 되어 있다.
7.4.1 연습문제
1) 어떤 객체가 티블인지 알 수 있는 방법
- 출력해 본다
- is_tibble()
- class
2) pass
3) pass
5) tibble::enframe은 어떤 동작을 하는가?
이름있는 벡터, 또는 리스트를 티블형태로 변경해 준다.(전처리 하다 보면 은근히 많이 사용하는 함수)
> enframe(1:3)
# A tibble: 3 x 2
name value
<int> <int>
1 1 1
2 2 2
3 3 3
> enframe(c(a = 5, b = 7))
# A tibble: 2 x 2
name value
<chr> <dbl>
1 a 5
2 b 7
> enframe(list(one = 1, two = 2:3, three = 4:6))
# A tibble: 3 x 2
name value
<chr> <list>
1 one <dbl [1]>
2 two <int [2]>
3 three <int [3]>
6) 티블의 바닥글에 출력되는 열 이름의 개수를 제어하는 옵션은 무엇인가?
print(티블, n_extra) 예시를 돌려보니 이게 잘 되는지 모르겠다. 몰라도 된다.
'R programming > R4DS (R for DataScience) ' 카테고리의 다른 글
R4DS (R FOR DATASCIENCE) 9장 tidyr로 하는 타이디 데이터 (0) | 2020.07.12 |
---|---|
R4DS (R FOR DATASCIENCE) 8장 readr로 하는 데이터 불러오기 (0) | 2019.12.25 |
R4DS (R FOR DATASCIENCE) 6장 (0) | 2019.12.23 |
R4DS (R for DataScience) 5장(4장 별 내용 없어 3장에 간단히 기록) (0) | 2019.12.10 |
R4DS (R for DataScience) 3장 (0) | 2019.12.02 |