일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 에리히 프롬
- 토양학
- 청도요
- RStudio
- 영화 리뷰
- 탐조
- R
- 젖비단그물버섯
- 계묘년
- 갓생
- 영화
- 영화 해석
- mushroom #mushrooms #mushroomhunting #mushroomphotos #mushroomphotography #mycology #mycologist #fungi #fungalecology #fungaldiversity #fantasticfungi #버섯 #탐균 #버섯탐사
- 영화 일기
- 대학원생
- 코딩
- 곤줄박이
- 토양미생물학
- Rstuido
- 외생균근균
- 파이썬
- 더 웨일
- 철학
- 심리학
- 바운새
- 생명과학 균학 미생물학 Biology Mycology Microbiology
- 영화 후기
- Cannon PowerShot G7 X Mark III
- 생물정보학
- 둠칫새
Archives
- Today
- Total
워라밸 중독자
[R] Pivot wider <-> Pivot longer 자유자재로 와리가리하기 본문
tidyr package의 pivot_wider(), pivot_longer() 을 와리가리해보자
Dataset은 아래와 같다
> ref_tax
# A tibble: 33,493 × 8
label Class Family Genus Kingdom Order Phylum Species
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 NR_073208_1 Tremellomycetes Trichosporonaceae Apiotrichum Fungi Trichosporonales Basidiomycota Apiotrichum_…
2 NR_073209_1 Tremellomycetes Trichosporonaceae Apiotrichum Fungi Trichosporonales Basidiomycota Apiotrichum_…
3 NR_073210_1 Tremellomycetes Cryptococcaceae Kwoniella Fungi Tremellales Basidiomycota Kwoniella_he…
4 NR_073211_1 Tremellomycetes Tremellaceae Phaeotremella Fungi Tremellales Basidiomycota Phaeotremell…
5 NR_073212_1 Tremellomycetes Piskurozymaceae Solicoccozyma Fungi Filobasidiales Basidiomycota Solicoccozym…
6 NR_073213_1 Tremellomycetes Trimorphomycetaceae Saitozyma Fungi Tremellales Basidiomycota Saitozyma_po…
7 NR_073214_1 Tremellomycetes Mrakiaceae Krasilnikovozyma Fungi Cystofilobasidiales Basidiomycota Krasilnikovo…
8 NR_073215_1 Tremellomycetes Bulleribasidiaceae Hannaella Fungi Tremellales Basidiomycota Hannaella_lu…
9 NR_073216_1 Tremellomycetes Trichosporonaceae Cutaneotrichosporon Fungi Trichosporonales Basidiomycota Cutaneotrich…
10 NR_073217_1 Tremellomycetes Cuniculitremaceae Fellomyces Fungi Tremellales Basidiomycota Fellomyces_p…
# ℹ 33,483 more rows
# ℹ Use `print(n = ...)` to see more rows
Pivot longer
# Pivoting longer
> ref_tax <- ref_tax %>% pivot_longer(!label, names_to = 'rank', values_to = 'taxon') %>% as.tibble()
> ref_tax
# A tibble: 234,451 × 3
label rank taxon
<chr> <chr> <chr>
1 NR_073208_1 Class Tremellomycetes
2 NR_073208_1 Family Trichosporonaceae
3 NR_073208_1 Genus Apiotrichum
4 NR_073208_1 Kingdom Fungi
5 NR_073208_1 Order Trichosporonales
6 NR_073208_1 Phylum Basidiomycota
7 NR_073208_1 Species Apiotrichum_veenhuisii
8 NR_073209_1 Class Tremellomycetes
9 NR_073209_1 Family Trichosporonaceae
10 NR_073209_1 Genus Apiotrichum
# ℹ 234,441 more rows
# ℹ Use `print(n = ...)` to see more rows
길어졌다.
이제 Pivot wider
# Ensure unique combinations of label and rank
> ref_tax <- ref_tax %>%
+ group_by(label, rank) %>%
+ summarize(taxon = unique(taxon), .groups = 'drop')
> # Pivoting wider
> ref_tax <- ref_tax %>%
+ pivot_wider(names_from = 'rank', values_from = 'taxon')
ref_tax
# A tibble: 33,493 × 8
label Class Family Genus Kingdom Order Phylum Species
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 NR_073208_1 Tremellomycetes Trichosporonaceae Apiotrichum Fungi Trichosporonales Basidiomycota Apiotrichum_…
2 NR_073209_1 Tremellomycetes Trichosporonaceae Apiotrichum Fungi Trichosporonales Basidiomycota Apiotrichum_…
3 NR_073210_1 Tremellomycetes Cryptococcaceae Kwoniella Fungi Tremellales Basidiomycota Kwoniella_he…
4 NR_073211_1 Tremellomycetes Tremellaceae Phaeotremella Fungi Tremellales Basidiomycota Phaeotremell…
5 NR_073212_1 Tremellomycetes Piskurozymaceae Solicoccozyma Fungi Filobasidiales Basidiomycota Solicoccozym…
6 NR_073213_1 Tremellomycetes Trimorphomycetaceae Saitozyma Fungi Tremellales Basidiomycota Saitozyma_po…
7 NR_073214_1 Tremellomycetes Mrakiaceae Krasilnikovozyma Fungi Cystofilobasidiales Basidiomycota Krasilnikovo…
8 NR_073215_1 Tremellomycetes Bulleribasidiaceae Hannaella Fungi Tremellales Basidiomycota Hannaella_lu…
9 NR_073216_1 Tremellomycetes Trichosporonaceae Cutaneotrichosporon Fungi Trichosporonales Basidiomycota Cutaneotrich…
10 NR_073217_1 Tremellomycetes Cuniculitremaceae Fellomyces Fungi Tremellales Basidiomycota Fellomyces_p…
# ℹ 33,483 more rows
# ℹ Use `print(n = ...)` to see more rows
넓어졌다.
열 순서는 알파벳 순서로 바뀌었지만 걍 넘어가자.
끝.
'코딩, 딱 지금이 시작할때! (코딱지)' 카테고리의 다른 글
[R] select로 데이터프레임 열(변수) 순서 바꾸기 (0) | 2024.05.27 |
---|---|
[R] 데이터프레임에서 조건에 맞는 행의 값만 변경하기 (0) | 2024.05.24 |
[R] 조건에 따라 데이터프레임 값 바꾸기 (0) | 2024.05.22 |
[Linux] shell script로 내용에 특정 문자가 들어있는 파일들의 이름을 알아내려면? (0) | 2024.05.14 |
Linux 프로그램 오작동: 디버깅을 위한 환경 정보 수집 가이드 (0) | 2024.05.04 |