๐ ์ค๋ ๋ด๊ฐ ๋ฐฐ์ด ๊ฒ
๐ R ๋ฐ RStudio ๊ธฐ๋ณธ ์ฌ์ฉ๋ฐฉ๋ฒ ์ดํด
Script | R ์ฝ๋๋ฅผ ์์ฑํ๋ ์ฐฝ | Environment | · ๋ก๋ฉ๋ ๋ฐ์ดํฐ์
ํ์ · ์ ์ธ๋ ๋ณ์/ํจ์ ํ์ |
Console | · ๊ฐ๋จํ ์ฝ๋ ์์ฑ ๋ฐ ์คํ · ์ฝ๋ ์คํ ๊ฒฐ๊ณผ ํ์ธ · ์ค๋ฅ ํ์ธ |
History | ์คํํ ๋ช ๋ น์ด(์ฝ๋) ๋ก๊น |
Terminal | · CMD ์ฐฝ๊ณผ ๋์ผ · ์ปค๋งจ๋๋ผ์ธ ํตํ OS ์กฐ์ |
Connections | DB ์๋ฒ์ ์ฐ๊ฒฐ ๊ด๋ฆฌ |
Files | ํ์ผ ํ์๊ธฐ์ ๋์ผ | Helper | ๋์๋ง |
Plots | ๊ทธ๋ํ ๊ทธ๋ฆฐ ๊ฒฐ๊ณผ๋ฌผ ์ถ๋ ฅ | Viewer | ์น ๊ด๋ จ THML์ฝ๋ ์คํ ๊ฒฐ๊ณผ๋ฌผ ์ถ๋ ฅ ์ฐฝ |
Packages | ํจํค์ง ๊ด๋ฆฌ |
๐ Working Directory ์ค์
Working Directory : ์์ ์ ์ํ ํด๋ / ๋ฐ์ดํฐ์ , ํ์ผ ๋ฑ ๋ถ๋ฌ์ค๊ฑฐ๋ ์ ์ฅํ๋ ์์ ์ ์ํํ๋ ๊ธฐ๋ณธ ํด๋
· ํ์ฌ Working Directory ๊ฒฝ๋ก ํ์ธ ๋ฐฉ๋ฒ : getwd()
· Working Directory ๋ด๋ถ ํ์ผ ํ์ธ ๋ฐฉ๋ฒ : dir()
· Working Directory ์์ ๋ฐฉ๋ฒ : setwd() *RStudio ์ฌ์์์ ์ ์ง ์๋จ
๐ ํ๋ก์ ํธ ์์ฑ
· ํ๋ก์ ํธ ํด๋๊ฐ Working Directory๋ก ์๋์ค์ ๋จ
· "ํ๋ก์ ํธ ์คํ" ๊ธฐ๋ฅ์ ํตํด์ RStudio๊ฐ ์ค์น๋ ๋ค๋ฅธ PC์์๋ ๋์ผํ ํ๊ฒฝ ๊ตฌ์ฑ ๊ฐ๋ฅ
๐ ์ ์ฉํ ํ๊ฒฝ ์ค์
โ ํ๊ฒฝ ์ค์ ๋ฒ์
โ Global ํ๊ฒฝ ์ค์ : RStudio ํ๊ฒฝ ๋ด์์ ์คํ๋๋ ๋ชจ๋ ํ๋ก์ ํธ์ ์ ์ฉ
โ Project ํ๊ฒฝ ์ค์ : ํ๋ก์ ํธ ๋ณ๋ก ๋ค๋ฅด๊ฒ ํ๊ฒฝ ์ค์ ๊ฐ๋ฅ, ํ๋ก์ ํธ๊ฐ ์๋ ๊ฒฝ์ฐ ํ๊ฒฝ ์ค์ ๋ถ๊ฐ๋ฅ
โก ์๋ ์ค๋ฐ๊ฟ ๊ธฐ๋ฅ
โข Line ํ์ด๋ผ์ดํธ ๊ธฐ๋ฅ
โฃ ํฐํธ ๋ฐ ๋ฐฐ๊ฒฝ ์ค์
โค ํ ์คํธ ์ธ์ฝ๋ฉ ๋ฐฉ์ ๋ณ๊ฒฝ ๊ธฐ๋ฅ
๐ ์ ์ฉํ ๋จ์ถํค
· Ctrl + S : ํ์ผ ์ ์ฅ
· Ctrl + O : ํ์ผ ๋ถ๋ฌ์ค๊ธฐ
· Ctrl + Shift + N : ์ ์์คํ์ผ
· Ctrl + Shift + C : ์ฝ๋ ์ฃผ์ํ
๐ ๋ฐ์ดํฐ ํ์
· Object(๊ฐ์ฒด) : R์ด ๋ค๋ฃจ๋ ๊ฐ์ฅ ๊ธฐ์ด์ ์ธ ๊ตฌ์กฐ, ๋ฐ์ดํฐ ๊ฐ์ด ๋ด๊น
· Class : ๊ฐ์ฒด์ ํ์
Numeric | ์ค์ํ ํ์ |
Interger | ์ ์ํ ํ์ (๊ฐ ๋ค์ 'L' ๊ธฐ์ ) |
Logical | ๋ ผ๋ฆฌํ ํ์ |
Character | ๋ฌธ์ํ ํ์ |
Complex | ๋ณต์์ํ ํ์ |
๐ ํน๋ณํ ๋ฐ์ดํฐ ๊ฐ์ฒด
โ Inf(Infinity) : ๋ฌดํํ ํฐ ๊ฐ์ ๋ํ๋ด๋ ๋ฐ์ดํฐ ๊ฐ์ฒด
โก NA (Not Available) : ๊ฒฐ์ธก๊ฐ์ ๋ํ๋ด๋ ๋ฐ์ดํฐ ๊ฐ์ฒด
โข NaN (Not a Number) : ์์น๊ฐ์ผ๋ก ํํํ ์ ์๋ ๊ฐ์ ๋ํ๋ด๋ ๋ฐ์ดํฐ ๊ฐ์ฒด → ๊ฒฐ์ธก๊ฐ์ผ๋ก ์ฒ๋ฆฌ๋จ
๐ ๋ฐ์ดํฐ ์ข ๋ฅ
๋ฐ์ดํฐ์ (Dataset) : ๋ฐ์ดํฐ๋ค์ ์งํฉ, ๋ชจ์
๋ฐ์ดํฐ ์ข ๋ฅ | |
์ฐจ์ | 1์ฐจ์ |
2์ฐจ์ | |
N์ฐจ์ | |
๊ตฌ์ฑ | ๋จ์ผํ |
๋ค์คํ | |
์ฐ์์ฑ | ๋ฒ์ฃผํ |
์์นํ |
๐ ๋ฐ์ดํฐ ์๋ฃ ๊ตฌ์กฐ
๊ตฌ๋ถ | 1์ฐจ์ | 2์ฐจ์ | N์ฐจ์ |
๋จ์ผํ | ๋ฒกํฐ | ํ๋ ฌ | ๋ฐฐ์ด |
๋ค์คํ | ๋ฆฌ์คํธ | ๋ฐ์ดํฐ ํ๋ ์ | - |
์๋ฃ ๊ตฌ์กฐ | ์์ฑ ๋ฐฉ๋ฒ |
๋ฒกํฐ | c() vector("๋ฐ์ดํฐ ํ์ ", length = ๋ฒกํฐ ํฌ๊ธฐ) |
ํ๋ ฌ | matrix(nrow=ํ ํฌ๊ธฐ, ncol=์ด ํฌ๊ธฐ, byrow=F) |
๋ฐฐ์ด | array(dim=(n,n,n) |
๋ฆฌ์คํธ | list() |
๋ฐ์ดํฐ ํ๋ ์ | data.frame(vector, vector, ...) |
· ์๋ ํ๋ณํ ์ฐ์ ์์ : Character > Numeric > Logical
๐ ๋ณ์
· ๋ณ์ : ๊ฐ์ฒด๋ฅผ ์ ์ฅํด๋๋ ๋ณด๊ดํจ
· ์ด๊ธฐํ : ์ต์ด๋ก ๊ฐ์ ์ ์ฅํ๋ ํ์
· ๋ณ์ ์ ์ธ๋ง ํ๊ธฐ NULL ๊ฐ ์ฌ์ฉ
๐ ๋ณ์ ์๋ช ๊ท์น
· ์ฒซ ๊ธ์์๋ ๋ฌธ์ ๋๋ ๋ง์นจํ(.)๋ง ์ฌ์ฉ ๊ฐ๋ฅ
· ๋๋ฒ์งธ ๊ธ์๋ถํฐ๋ ์ซ์, ๋ฐ์ค ์ฌ์ฉ ๊ฐ๋ฅ
· ์ํ๋ฒณ ๋๋ฌธ์์ ์๋ฌธ์๋ ๋ณ๊ฐ์ ๋ฌธ์ ์ทจ๊ธ
· ๋ณ์๋ช ์ค๊ฐ์ ๋น ์นธ ๋ฃ์ ์ ์์
· ํ๊ตญ์ด ๋ณ์ ์ฌ์ฉ ๊ฐ๋ฅ
๐ ํจ์
ํจ์ : ์ ๋ ฅ ๊ฐ์ ๋ฃ๊ณ ์คํ → ๊ฒฐ๊ณผ ๊ฐ ๋ฆฌํดํ๋ ์ฅ์น
· ํจ์์ ๋ฐ๋ผ ๋งค๊ฐ๋ณ์๊ฐ ์กด์ฌ
· ๋งค๊ฐ๋ณ์ ๋ช ๊ณผ ๋งค๊ฐ๋ณ์ ๊ฐ์ ๋ชจ๋ ์ ๋ ๊ฒ์ด ์ ์ ๋ฌธ๋ฒ
· ๋งค๊ฐ๋ณ์ ๊ฐ์ ์ ์ ์์๋๋ก ์ ๋ ฅํ๋ ๊ฒฝ์ฐ, ๋งค๊ฐ๋ณ์๋ช ์๋ต ๊ฐ๋ฅ
ํ์ ๋งค๊ฐ๋ณ์ | ์ ํ์ ๋งค๊ฐ๋ณ์ |
๊ธฐ๋ณธ๊ฐ ์ง์ X | ๊ธฐ๋ณธ๊ฐ ์ง์ O → ์๋ต๋๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ ์ฌ์ฉ |
๐ ์ ์ฉํ ๋ด์ฅ ํจ์
๋ด์ฅ ํจ์ | ํ๋ก๊ทธ๋จ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์๋์ด ์ ๊ณตํ๋ ํจ์ |
์ฌ์ฉ์ ์ ์ ํจ์ | ์ฌ์ฉ์๊ฐ ์ง์ ์ ์ํ์ฌ ๋ง๋ค์ด๋ด๋ ํจ์ |
as.๋ฐ์ดํฐํ์ (๋ฐ์ดํฐ) | ๊ฐ์ ํ๋ณํ ํจ์ |
seq( length=5, from=3, by=2)
|
From ๋ถํฐ by์ฉ ์ฆ๊ฐํ๋ length๊ฐ์ ์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฒกํฐ ์์ฑ
|
rnorm( n=4, mean =0, sd=1 )
|
ํ๊ท ์ด mean, ๋ถ์ฐ์ด se ์ธ ์ ๊ท๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋ n๊ฐ์ ์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฒกํฐ ์์ฑ
|
runif( n=4, min=1, max=100)
|
[min, max] ๋ฒ์ ์ฌ์ด n๊ฐ์ ๋์๋ก ์ด๋ฃจ์ด์ง ๋ฒกํฐ ์์ฑ
|
๐ ํจํค์ง
ํจํค์ง : ์ ์ฌํ ๊ธฐ๋ฅ์ ํ๋ ํจ์๋ค์ ํ๋ฐ ๋ฌถ์ด ๊ด๋ฆฌํ๋ ๊พธ๋ฌ๋ฏธ
· ํจํค์ง ์ค์น : install.packages(“ํจํค์ง ๋ช ”)
· ํจํค์ง ๋ก๋ฉ : library(ํจํค์ง๋ช )
install.packages(“ํจํค์ง ์ด๋ฆ”)
|
ํด๋น ํจํค์ง ์ค์น ํจ์
|
library(help= ํจํค์ง ์ด๋ฆ)
|
ํจํค์ง์ ๋ํ ์ ๋ณด ์ถ๋ ฅ
|
update.packages(“ํจํค์ง ์ด๋ฆ”)
|
ํด๋น ํจํค์ง๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธ
|
remove.packages(“ํจํค์ง ์ด๋ฆ”)
|
ํด๋น ํจํค์ง๋ฅผ ์ญ์
|
ํจํค์ง ์ด๋ฆ::ํจํค์ง ํจ์( )
|
library( ) ํจ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , ํน์ ํจํค์ง์ ํน์ ํจ์ ์ฌ์ฉ
|
data(package = .packages(all.available = TRUE))
|
์ค์น๋ ํจํค์ง์ ๋ชจ๋ ๋ด์ฅ ๋ฐ์ดํฐ ๋ณด๋ ๊ธฐ๋ฅ
|
๐ญ ์ค๋ ๊ธฐ์ตํด์ผ ํ ๋ด์ฉ
โ ๋ฒกํฐ๊ฐ์ ํ๋์ ์๋ฃํ์ผ๋ก๋ง ์ด๋ค์ ธ์ผ ํ๋ค๊ณ ์ดํดํ๋๋ฐ,
c( )์ผ๋ก ๋ฒกํฐ๋ฅผ ์์ฑํ ๋ ์๋ก ๋ค๋ฅธ ์๋ฃํ์ด ๋ค์ด๊ฐ๋ ์ค๋ฅ๊ฐ ๋์ง ์๋ ์ด์ ๋ ๋ฌด์์ผ๊น?
โก๏ธ ์๋ ํ๋ณํ์ด ์ผ์ด๋๊ธฐ ๋๋ฌธ !
โก ๋ณ์ ํ ๋น์ ์ํด '<-' ๋์ '=' ์ ์ฌ์ฉํด๋ ๊ฐ์ ๊ธฐ๋ฅ์ด ์ํ๋ ๊น?
โก๏ธ '='์ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฌ์ฉํ ์ ์๊ธฐ๋ ํ๋ค. ์๋ฌต์ ์ผ๋ก '<-'์ ๋ ๋ง์ด ์ฌ์ฉํจ !
โข ๋ฉํ ๋ง ์์
โ๐ป ํ๊ณ
์ค๋์ ๋ฐ์ดํฐ ์ข ๋ฅ, ํจ์ ๋ฑ R์ ๋ํ ๊ธฐ์ด์ ์ธ ๋ด์ฉ์ ๋ค๋ค๋ค.
๊ธฐ์กด์ ์๊ณ ์๋ ๋ด์ฉ์ด์ง๋ง ๋ช ํํ๊ฒ ์ ๋ฆฌ๊ฐ ๋์ง ์์์๋ค.
์ค๋ ์์ธํ ๊ณต๋ถํ๋ฉฐ ๊ธฐ์กด์ ์๋ ๋ด์ฉ์ด ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌ๊ฐ ๋์ด ๋๋ฌด ์ข์๋ค .. !!
๋ฌด์๋ณด๋ค ์ค๋์ TIL์ ์๊ฐ ๋ด์ ๋ชจ๋ ์์ฑํ์ฌ ์์ฃผ์์ฃผ ๋ฟ๋ฏํ๋ค .. ๐
๋ด์ผ์ R์์ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ๊ทธ๋ฆฌ๊ณ ํน์ ํจํค์ง๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์ธ ์์ ์ด๋ค.
๋ด์ผ๋ ํ์ดํ !!!๐คฉ
'STARTERS 4๊ธฐ > [STARTERS] TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[STARTERS 4๊ธฐ TIL] #13์ผ์ฐจ(23.02.22) (0) | 2023.02.26 |
---|---|
[STARTERS 4๊ธฐ TIL] #12์ผ์ฐจ(23.02.21) (0) | 2023.02.21 |
[STARTERS 4๊ธฐ TIL] #10์ผ์ฐจ(23.02.17) (0) | 2023.02.20 |
[STARTERS 4๊ธฐ TIL] #9์ผ์ฐจ(23.02.16) (0) | 2023.02.20 |
[STARTERS 4๊ธฐ TIL] #8์ผ์ฐจ(23.02.15) (0) | 2023.02.20 |