์ฃผ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ธฐ๋ณด๋ค๋ ์ํ๋ ํํ๋ก ๋ณํํด ๋ถ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๋ถ์์ ์ ํฉํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๋ ์์ ์ '๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ'๋ฆฌ๊ณ ํ๋ค.
์ผ๋ถ๋ฅผ ์ถ์ถํ๊ฑฐ๋, ์ข ๋ฅ๋ณ๋ก ๋๋๊ฑฐ๋, ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ํฉ์น๋ ๋ฑ ๋ฐ์ดํฐ๋ฅผ ์์ ๋กญ๊ฒ ๊ฐ๊ณตํด ๋ชฉ์ ์ ๋ง๊ฒ ๋ถ์ํ๊ณค ํ๋ค.
1. ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๋ง ์ถ์ถํ๊ธฐ
dplyrํจํค์ง๋ฅผ ๋ก๋ํ ํ dplyrํจํค์ง์ filter()๋ฅผ ์ด์ฉํ๋ฉด ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ ์๋ฐ.
#exam์์ class๊ฐ 1์ธ ๊ฒฝ์ฐ๋ง ์ถ์ถํด ์ถ๋ ฅํ๊ธฐ
exam %>% filter(class == 1)
#์ฌ๋ฌ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ํ ์ถ๋ ฅํ๊ธฐ
#1๋ฐ์ด๋ฉด์ ์ํ ์ ์๊ฐ 50์ ์ด์์ธ ๊ฒฝ์ฐ
exam %>% filter(class == 1 & math >= 50)
#์ํ์ ์๊ฐ 90์ ์ด์์ด๊ฑฐ๋ ์์ด ์ ์๊ฐ 90์ ์ด์์ธ ๊ฒฝ์ฐ
exam %>% filter(math >= 90 | english >= 90)
R์์ ์ฌ์ฉํ๋ ๊ธฐํธ๋ค
๋ ผ๋ฆฌ์ฐ์ฐ์ | ๊ธฐ๋ฅ | ์ฐ์ ์ฐ์ฐ์ | ๊ธฐ๋ฅ |
< | ์๋ค | + | ๋ํ๊ธฐ |
<= | ์๊ฑฐ๋ ๊ฐ๋ค | - | ๋นผ๊ธฐ |
> | ํฌ๋ค | * | ๊ณฑํ๊ธฐ |
== | ๊ฐ๋ค | / | ๋๋๊ธฐ |
!= | ๊ฐ์ง ์๋ค | *, ** | ์ ๊ณฑ |
| | ๋๋ | %/% | ๋๋์ ์ ๋ชซ |
& | ๊ทธ๋ฆฌ๊ณ | %% | ๋๋์ ์ ๋๋จธ์ง |
%in% | ๋งค์นญํ์ธ |
2. ํ์ํ ๋ณ์๋ง ์ถ์ถํ๊ธฐ
select()๋ ๋ฐ์ดํฐ์ ๋ค์ด์๋ ์๋ง์ ๋ณ์ ์ค ์ผ๋ถ ๋ณ์๋ง ์ถ์ถํด ํ์ฉํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ค.
select()๋ฅผ ์ด์ฉํด ๋ณ์๋ฅผ ์ถ์ถํด๋ณด์.
#math ์ถ์ถํ๊ธฐ
exam %>% select(math)
#์ฌ๋ฌ๋ณ์ ์ถ์ถํ๊ธฐ
#class, math, english ๋ณ์ ์ถ์ถํ๊ธฐ
exam %>% select(class, math, english)
#๋ณ์ ์ ์ธํ๊ธฐ
exam %>% select(-math)
3. ์์๋๋ก ์ ๋ ฌํ๊ธฐ
arrange()๋ฅผ ์ด์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ํ๋ ์์๋ก ์ ๋ ฌํ ์ ์๋ค.
#์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ธฐ
exam %>% arrange(math)
#๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ธฐ
exam %>% arrange(desc(math))
#์ฌ๋ฌ๋ณ์ ๊ธฐ์ค ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
exam %>% arrange(class, math)
4. ํ์๋ณ์ ์ถ๊ฐํ๊ธฐ
exam %>% mutate(total = math +english +science)
5. ์ฌ๋ฌ ํ์๋ณ์ ํ๋ฒ์ ์ถ๊ฐํ๊ธฐ
exam %>%
mutate(total = math + english + science,
mean = (math + english + science)/3)