๐ ์ค๋ ๋ด๊ฐ ๋ฐฐ์ด ๊ฒ
๐ R ์ฐ์ฐ์
์ฐ์ ์ฐ์ฐ์ | ๋น๊ต ์ฐ์ฐ์ | ๋ ผ๋ฆฌ ์ฐ์ฐ์ |
+ | > | & |
- | >= | && (๋ฒกํฐํ ๋์ง ์์ ๋ ผ๋ฆฌ๊ณฑ) |
* | < | | |
/ | <= | || |
^ | == | ! |
%% (๋๋จธ์ง) | != | |
%/% (๋ชซ) |
๐ ์ฐ์ ํจ์
ํจ์ ๊ธฐ๋ฅ | ์ฌ์ฉ๋ฒ | ์ถ๋ ฅ ๊ฐ |
์ ๋ ฅ ๋ฒกํฐ ์ค ์ต์๊ฐ ์ถ๋ ฅ | min(c(1,2,3,4,5)) | 1 |
์ ๋ ฅ ๋ฒกํฐ ์ค ์ต๋๊ฐ ์ถ๋ ฅ | max(c(1,2,3,4,5)) | 5 |
์ ๋ ฅ ๋ฒกํฐ ์ค ์ดํฉ ์ถ๋ ฅ | sum(c(1,2,3,4,5)) | 15 |
์ ๋ ฅ ๋ฒกํฐ ์ค ๊ณฑ์ ๊ฐ ์ถ๋ ฅ | prod(c(1,2,3,4,5)) | 120 |
1๋ถํฐ ์ ๋ ฅ ๊ฐ๊น์ง์ ํฉํ ๋ฆฌ์ผ ๊ฐ ์ถ๋ ฅ | factorial(4) | 4! = 24 |
์ ๋ ฅ ๊ฐ์ ์ ๋๊ฐ ์ถ๋ ฅ | abs(-3) | 3 |
์ ๋ ฅ ๋ฒกํฐ์ ํ๊ท ๊ฐ ์ถ๋ ฅ | mean(c(1,2,5,8,10)) | 5.2 |
์ ๋ ฅ ๋ฒกํฐ์ ์ค๊ฐ ๊ฐ ์ถ๋ ฅ | median(c(1,2,5,8,10)) | 5 |
์ ๋ ฅ ๋ฒกํฐ์ ์ต์๊ฐ ์ต๋๊ฐ ์ถ๋ ฅ | range(c(1,2,3,4,5)) | 1 5 |
์ ๋ ฅ ๋ฒกํฐ์ ํ๊ท ์ ๋ํ ๋ถ์ฐ๊ฐ ์ถ๋ ฅ | var(c(1,2,5,8,10)) | 14.7 |
์ ๋ ฅ ๋ฒกํฐ์ ํ๊ท ์ ๋ํ ํ์คํธ์ฐจ๊ฐ ์ถ๋ ฅ | sd(c(1,2,5,8,10)) | 3.834058 |
๐ ๋ฌธ์์ด ๊ด๋ จ ํจ์
ํจ์ ๊ธฐ๋ฅ | ์ฌ์ฉ๋ฒ | ์ถ๋ ฅ ๊ฐ |
๊ฐ๋ค์ ํ๋์ ๋ฌธ์์ด๋ก ํฉ์น๋ ํจ์ |
paste(‘์๋
’, ‘ํ์ธ’, ‘์’)
paste(‘์๋ ’, ‘ํ์ธ’, ‘์’, sep=“”) paste(‘์๋ ’, ‘ํ์ธ’, ‘์’, sep=“/”) paste(c(1, 2, 3)) paste(c(1,2,3), c(‘๋ฒ’, ‘๋ฒ’, ‘๋ฒ’)) |
‘์๋
ํ์ธ ์’
‘์๋ ํ์ธ์’ ‘์๋ /ํ์ธ/์’ c(‘1', ‘2', ‘3') *๋ฒกํฐ ๊ฐ๋ค์ ๊ฐ๋ณ๋ก ์ธ์ c(‘1 ๋ฒ‘, ‘2 ๋ฒ’, ‘3 ๋ฒ’) |
rep(data, n)
data๋ก ์ด๊ธฐํ๋๋ ๊ธธ์ด๊ฐ n์ธ ๋ฒกํฐ ์์ฑ |
rep(1, 5)
rep(‘a’, 5) |
c(1, 1, 1, 1, 1)
c(‘a’, ‘a’, ‘a’, ‘a’, ‘a’) |
๐ ์กฐ๊ฑด๋ฌธ
โ if ~ else ๋ฌธ
โก ifelse ๋ฌธ
· ๋ฒกํฐ ์ฐ์ฐ ๊ฐ๋ฅ
· ๊ฐ๋ ์ฑ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ
โข switch ๋ฌธ
· ๋น๊ต ๊ฐ์ ๋ฌธ์์ด ํ์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
โฃ which ๋ฌธ
· ์กฐ๊ฑด์ ํด๋นํ๋ ์ ๋ ฅ ๋ฒกํฐ ๋ด๋ถ ๊ฐ์ ์ธ๋ฑ์ค(์์น) ์ถ๋ ฅ
๐ ๋ฐ๋ณต๋ฌธ
โ for ๋ฌธ
โก while ๋ฌธ
โข repeat ๋ฌธ
๐ ๋ฒกํฐ ๋ค๋ฃจ๊ธฐ
๐ ์ฌ์ฉ์ ์ ์ ํจ์
๐ ๋ฐ์ดํฐ ํ์
์ข ๋ฅ | ํค๋ณด๋ ์ ๋ ฅ | ๋ก์ปฌ ํ์ผ | ์ธํฐ๋ท ํ์ผ |
๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ |
scan() *numeric ํ์ ๊ฐ๋ง ๊ฐ๋ฅ scan(what = character()) *character ํ์ ๊ฐ ์ ๋ ฅ ๊ฐ๋ฅ |
|
|
๋ฐ์ดํฐ ๋ด๋ณด๋ด๊ธฐ |
- |
๐ ๋ฐ์ดํฐ ํ์ธ ํจ์
ํจ์ ๊ธฐ๋ฅ | ์ฌ์ฉ๋ฒ | ์ถ๋ ฅ ๊ฐ |
๋ฐ์ดํฐ์ ์ฐจ์ ํ์ธ | dim(data) | c(35, 3) |
๋ฐ์ดํฐ์ ๊ธธ์ด ํ์ธ |
length(data)
length(data$Tree) |
3 35 |
์์ชฝ 6๊ฐ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅ
|
head(data) | 15 |
๋ค์ชฝ 6๊ฐ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅ
|
tail(data)
|
120 |
class, ํฌ๊ธฐ, ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ฐ ์ ๊ณต
|
str(data)
|
|
๋ฐ์ดํฐ์ ํค๋ ์ด๋ฆ ์ถ๋ ฅ
|
names(data)
|
|
RStudio ๋ทฐ์ด ์ฐฝ์์ ๋ฐ์ดํฐ ํ์ธ
|
View(data)
|
๐ ๋ฐ์ดํฐ ์กฐ์
๐ ๊ธฐ์ด ๋ฐ์ดํฐ ๋ถ์
๐ ๋ฐ์ดํฐ ๊ทธ๋ฆฌ๊ธฐ
plot(x, y, typr='p', main=NULL, xlab="", ylab="", xlim=c(), ylim=c())
· x,y : ๋ฐ์ดํฐ์ x, y ์ถ ๊ฐ
· type : ๊ทธ๋ํ ํ์ (p: ์ , l: ์ , b: ์ &์ ๋ฑ)
· main : ๊ทธ๋ํ ์ ๋ชฉ
· xlab : x์ถ ์ด๋ฆ
· ylab : y์ถ ์ด๋ฆ
· xlim : x์ถ ๊ฐ ๋ฒ์
· ylim : y์ถ ๊ฐ ๋ฒ์
· ์ด ์ธ ๋ค์ํ ๋งค๊ฐ๋ณ์ ์กด์ฌ
๐ ๋ค์ค ๋ฐ์ดํฐ ๊ทธ๋ฆฌ๊ธฐ
plot() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ 1๊ฐ ๊ทธ๋ํ ๊ทธ๋ฆฐ ํ, lines() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๊ฐ ๊ทธ๋ํ ๊ทธ๋ฆผ
๐ ๋ฒ๋ก ๊ทธ๋ฆฌ๊ธฐ
legend(์์น ๊ฐ, lengend=๋ผ๋ฒจ ๊ฐ, fill=์์ ๊ฐ)
· ์์น ๊ฐ : 'topright', 'topleft', 'top', 'bottom', 'bottomleft', 'bottomright', 'center', 'left', 'right'
๐ ํ์ด ์ฐจํธ
pie(data, label='', init.angle=0, radius=1)
· label : ์์๋ณ ์ด๋ฆ ๋ฑ๋ก
· init.angle : ๊ธฐ์ค์ ๊ฐ๋
· radius : ์์ ํฌ๊ธฐ ์กฐ์
๐ ํ์คํ ๊ทธ๋จ
hist(data, breaks=NULL, frep=T)
· breaks : ๋ฒ์ฃผ ๊ฐ์
· frep : ๊ฒฐ๊ณผ ์ถ๋ ฅ ๊ฐ ๊ธฐ์ค. T=ํ์, F=๋น์จ(density)
๐ ์์๊ทธ๋ฆผ
์์๊ทธ๋ฆผ์ด๋? ์์นํ ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ์๊ฐํ ํ๋๋ฐ ์ ํฉ
· 5๊ฐ์ง ํต๊ณ ์์น๋ฅผ ํํ : ์ต๋๊ฐ, 1์ฌ๋ถ์๊ฐ, 2์ฌ๋ถ์๊ฐ, 3์ฌ๋ถ์๊ฐ, ์ต์๊ฐ
· ์ด์์น ํํ : ์ต๋๊ฐ๋ณด๋ค ๋งค์ฐ ํฌ๊ฑฐ๋, ์ต์๊ฐ๋ณด๋ค ๋งค์ฐ ์์ ๊ฐ
boxplot(data, boxwex=NULL)
๐ ํ๋ฉด ๋ถํ : ํ ํ๋ฉด์ ์ฌ๋ฌ ๊ทธ๋ํ๋ฅผ ๋ฃ๊ณ ์ถ์ ๋ ์ฌ์ฉ
par(mfrow = c(๋ถํ ํ๋ฉด ํ ๊ฐ์, ๋ถํ ํ๋ฉด ์ด ๊ฐ์))
๐ dplyr ํจํค์ง ์๊ฐ
· ์ ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ฒ ํด์ฃผ๋ R ํจํค์ง
· ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ์, ๋ฐ๋ณต์์ ์ ์ค์ฌ์ค
· ์ฒ๋ฆฌ ์๋ ๋น ๋ฆ
· ํ์ดํ ์ฐ์ฐ์ ์ ๊ณต
๐ ํ์ดํ ์ฐ์ฐ์
๐ dplyr ํจ์
ํจ์ ๊ธฐ๋ฅ | ์ฌ์ฉ๋ฒ |
๋ฐ์ดํฐ ํ๋ ์์์ ํน์ ์ปฌ๋ผ์ ์ด๋ฆ ๋ณ๊ฒฝ | rename(data, ๋ณ๊ฒฝ ํ ์ปฌ๋ผ๋ช 1= ๊ธฐ์กด ์ปฌ๋ผ๋ช 1, ๋ณ๊ฒฝ ํ ์ปฌ๋ผ๋ช 2= ๊ธฐ์กด ์ปฌ๋ผ๋ช 2, ... ) |
๋ฐ์ดํฐ ํ๋ ์์์ ํน์ ์ปฌ๋ผ์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ |
arange(data, ์ปฌ๋ผ ์ด๋ฆ)
arange(data, desc(์ปฌ๋ผ ์ด๋ฆ)) |
๋ฐ์ดํฐ ํ๋ ์์์ ํน์ ์ปฌ๋ผ์ ์ค๋ณต ๊ฐ ์ ๊ฑฐ
|
distinct(data, ์ปฌ๋ผ ์ด๋ฆ) |
๐ dplyr ์ฃผ์ ํจ์
ํจ์ ๊ธฐ๋ฅ | ์ฌ์ฉ๋ฒ |
๋ฐ์ดํฐ ํ๋ ์์์ ์ํ๋ ์ปฌ๋ผ๋ง ์ถ์ถ | select(dataframe, ์ปฌ๋ผ๋ช 1, ์ปฌ๋ผ๋ช 2, ... ) |
๋ฐ์ดํฐ ํ๋ ์์์ ์กฐ๊ฑด์ ์ถฉ์กฑ๋๋ ํ๋ง ์ถ์ถ |
filter(dataframe, ์กฐ๊ฑด์)
|
๊ธฐ์กด ์ปฌ๋ผ๊ฐ์ ์ฌ์ฉํ์ฌ ์๋ก์ด ์ปฌ๋ผ์ ์์ฑ
|
mutate(dataframe, ์์ฑํ ์ปฌ๋ผ๋ช 1 = ์์1, ...) |
ํน์ ์ปฌ๋ผ ๊ฐ์ด ๊ฐ์ ๋ฐ์ดํฐ๋ค์ ๊ฐ์ ์ง๋จ์ผ๋ก ๋ฌถ์ด์ค * group_by ๋ง์ผ๋ก ์ธ๊ด์ ๋ฐ๋ก ๋ฌ๋ผ์ง๋๊ฒ ์์ * 'grouped_df' ํ์์ผ๋ก ๋ณ๊ฒฝ๋จ |
group_by(dataframe, ์ปฌ๋ผ๋ช ) |
๊ทธ๋ฃน ๋จ์ ๋์ผ ๊ธฐ๋ฅ ์ํ ํ, ์๋ก์ด ๋ฐ์ดํฐ ํ๋ ์์ ์ํ ๊ฒฐ๊ณผ ํตํฉ
|
summarize(grouped_df, ์ปฌ๋ผ ๋ช 1 = ๊ณ์ฐ ์1, ...) |
๐ญ ์ค๋ ๊ธฐ์ตํด์ผ ํ ๋ด์ฉ
โ Console Stop
์ฝ๋๋ฅผ ์คํํ๋ ์ฝ์ ์คํ ์์ด์ฝ์ด ํ์๋๋ฉด์ ๋ค์ ์ฝ๋๊ฐ ์คํ๋์ง ์์ ๋นํฉํ๋ค.
์๊ณ ๋ณด๋ ์ฝ๋๋ฅผ ์๋ชป ์์ฑํ์ฌ ๋ฌดํ ๋ฐ๋ณต๋ฌธ์ด ์คํ๋์ด ๊ทธ๋ฌ๋ ๊ฒ์ด๋ค ๐
๋ง์ฝ ์ด๋ฐ ์ํฉ์ด ์๊ธด๋ค๋ฉด, ์ฝ๋๊ฐ ์๋ชป๋ ๋ถ๋ถ์ด ์๋์ง ๋ค์ ํ ๋ฒ ํ์ธํด์ผ ํ๋ค.
โก ํ ์ด๋ธ์ ๊ธฐ๋ฅ
ํ ์ด๋ธ ๊ฐ๋ ์ ๋ํด ์ ์ดํด๋์ง ์์ ํ์๋ถ๊ณผ ๊ณ ๋ฏผํด๋ดค๋ค.
Python์ value_counts์ ๊ฐ์ ๊ธฐ๋ฅ์ด๋ผ๋ ๊นจ๋ฌ์์ ์ป์๋ค !!๐คฉ
โข which ๋ฌธ์ ์ด์ฉํ๋ฉด ์กฐ๊ฑด์ ๋ถํฉํ๋ ๋ฐ์ดํฐ์ ์ธ๋ฑ์ค๋ฅผ ์ ์ ์๋ค.
์ด ๋ ์ด ์ธ๋ฑ์ค์ ํด๋นํ๋ ๋ฐ์ดํฐํ๋ ์ ๋ด ๋ค๋ฅธ ์ปฌ๋ผ์ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ๋ฐ๋ก ๊ตฌํํ๊ธฐ ์ด๋ ค์ ๋ค.
โฃ ์ฐ์๋์ง ์์ ์ฌ๋ฌ ์ปฌ๋ผ์ ์ด๋ป๊ฒ ํ ๋ฒ์ ๋ฝ์๋ด์ง..??
โก๏ธ R์๋ ๋ง๋ฅ ๋ฒกํฐ c() ๊ธฐ๋ฅ์ด ์๋ค !! ์์ง๋ง์ !!
โค ๋ฐ์ดํฐํ๋ ์ ๋ด ๋ฒ์ฃผํ ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ๋ก ๋ง๋ค๊ณ , ์ฌ๊ธฐ์ ํ ์ด๋ธ์ ์ด๋ฆ๊ณผ ๋ฐ์ดํฐ(์)๋ฅผ ๋ฝ์๋ผ ์ ์๋ค.
๋, ์ด ๋๊ฐ์ง๋ฅผ ์ด์ฉํด ๋น์จ์ ๊ณ์ฐํ ์ ์๋ค!
โฅ ๋ค์ค ๋ฐ์ดํฐ ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ
โฆ ํ๋ฉด ๋ถํ ํ์ฌ ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ
โง ํ์ด ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ - ํ๊ธ ํฐํธ ์ ์ฉX
โ๐ป ํ๊ณ
์ค๋์ R์์ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ, ์ฌ์ฉ์ ์ ์ ํจ์, ๋ฐ์ดํฐ ์กฐ์, ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ, dplyr ํจํค์ง ํ์ฉ์ ๊ดํด ๋ฐฐ์ ๋ค.
๋ด์ฉ์ ์ด๋ ต์ง ์๊ฒ ์ดํดํ์ง๋ง, ์ค์ต์ผ๋ก ๋ถ์ ๊ณผ์ ์ ์งํํด๋ณด๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ณ ์ค์๋ ๋ง์๋ค.
์๊ฐ ๋ด์ ๊ณต๋ถ๋ฅผ ๋ค ํ์ง ๋ชปํด์ 8์๊ฐ ๋ค ๋๋๋ก ๋จ์์ ๋ง์ ํ๋๋ผ ์ง์ด ๋ค ๋น ์ก๋ค .. ๐
์ค์ตํด๋ณด์ง ์์ ๊ทธ๋ํ ์ข ๋ฅ(ํ์คํ ๊ทธ๋จ, ๋ฐ์คํ๋กฏ)์ด ์์ด์ ์ฃผ๋ง๋์ ๋ค์ ํ ๋ฒ ๋ณต์ตํด๋ด์ผ๊ฒ ๋ค!
๋ด์ผ์ R ๋ง์ง๋ง ์๊ฐ์ด๋ค. ๋ด์ผ๊น์ง ํ์ดํ !!!!!๐คฉ
'STARTERS 4๊ธฐ > [STARTERS] TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[STARTERS 4๊ธฐ TIL] #14์ผ์ฐจ(23.02.23) (0) | 2023.02.27 |
---|---|
[STARTERS 4๊ธฐ TIL] #13์ผ์ฐจ(23.02.22) (0) | 2023.02.26 |
[STARTERS 4๊ธฐ TIL] #11์ผ์ฐจ(23.02.20) (0) | 2023.02.20 |
[STARTERS 4๊ธฐ TIL] #10์ผ์ฐจ(23.02.17) (0) | 2023.02.20 |
[STARTERS 4๊ธฐ TIL] #9์ผ์ฐจ(23.02.16) (0) | 2023.02.20 |