R๐Ÿ“Š

[R]์‰ฝ๊ฒŒ๋ฐฐ์šฐ๋Š” R ๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค :: ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

ํžˆ์Šคํ†ค 2021. 5. 8. 12:14

์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋ณ€ํ˜•ํ•ด ๋ถ„์„ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

๋ถ„์„์— ์ ํ•ฉํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜๋Š” ์ž‘์—…์„ '๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ'๋ฆฌ๊ณ  ํ•œ๋‹ค.

 

์ผ๋ถ€๋ฅผ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜, ์ข…๋ฅ˜๋ณ„๋กœ ๋‚˜๋ˆ„๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ฉ์น˜๋Š” ๋“ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ๊ฐ€๊ณตํ•ด ๋ชฉ์ ์— ๋งž๊ฒŒ ๋ถ„์„ํ•˜๊ณค ํ•œ๋‹ค.

 

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)