R ํต๊ณ ์ธ์ด๋ก ๊ณจํ ํ์ ์ฐพ๊ณ ์์ต๋๋ค. R์ ์๋ง๋ ๊ณจํ๋ฅผ์ํ ๋น ์ ํต์ ์ธ ์ ํ ์ผ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ํน์ ์์ (์ํ์ค, ์์์ฑ, ๋ฒกํฐ ๋ฐ ๋ชฉ๋ก)์ ๋งค์ฐ ์ฝคํฉํธํ๊ฒ ๋ง๋ค๊ณ ๋ง์ ๋ด์ฅ ํจ์๋ ๋งค์ฐ ์งง์ ์ด๋ฆ ์ ๊ฐ์ง๋ฉฐ ์ ํ์ ์ค ์ข ๊ฒฐ ์ (;)๊ฐ ์์ต๋๋ค. R์ ์ฝ๋ ๊ณจํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด๋๋ ํ๊ณผ ์๋ น์ ๋ฌด์์ ๋๊น?
๋ต๋ณ
๋ช ๊ฐ์ง ํ :
- R์์๋
<-over ๋ฅผ ์ฌ์ฉ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค=. ๊ณจํ์ ๊ฒฝ์ฐ ๋ฐ๋ ์ ์ฅ=์ด ์งง์ ์ง๊ธฐ ๋๋ฌธ์ โฆ -
ํจ์๋ฅผ ๋ ๋ฒ ์ด์ ํธ์ถํ๋ฉด ์งง์ ๋ณ์นญ์ ์ ์ํ๋ ๊ฒ์ด ์ ๋ฆฌํฉ๋๋ค.
as.numeric(x)+as.numeric(y) a=as.numeric;a(x)+a(y) -
๋ถ๋ถ ๋งค์นญ์ ์น๊ตฌ๊ฐ ๋ ์ ์์ต๋๋ค. ํนํ ํจ์๊ฐ ํ๋์ ํญ๋ชฉ ๋ง ํ์ํ ๋ชฉ๋ก์ ๋ฐํ ํ ๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ๋น๊ต
rle(x)$lengths์rle(x)$l -
๋ง์ ๊ณผ์ ๋ ์ ๋ ฅ์ ์ฝ์ด์ผํฉ๋๋ค.
scan์ฌ์ฉ์๋ ์ข ์ข ๋น ์ค์ ์ ๋ ฅํ์ฌ ์ ๋ ฅ์ ์ข ๋ฃํฉ๋๋ค.scan() # reads numbers into a vector scan(,'') # reads strings into a vector -
๊ฐ์ ๊ฐ ์ ์ฉ ํ ์ ์์ต๋๋ค.
t=1๋ณด๋ค ํจ์ฌ ์งง์ต๋๋คt=TRUE. ๋๋switch๊ท์คํ ๋ฌธ์๋ฅผ ์ ์ฅํ ์๋ ์์ง๋ง 0,1 ๋์ 1,2๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.if(length(x)) {} # TRUE if length != 0 sum(x<3) # Adds all the TRUE:s (count TRUE) -
ํจ์๊ฐ ๋ณต์กํ ๊ฒ์ ๊ณ์ฐํ๊ณ ๋์ผํ ํต์ฌ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ํ ๋ค๋ฅธ ์ ํ์ ๊ณ์ฐ์ด ํ์ํ ๊ฒฝ์ฐ a) ์์ ํจ์๋ก ๋๋๊ณ b) ํ์ํ ๋ชจ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ชฉ๋ก์ผ๋ก ๋ฐํํ๊ฑฐ๋ c) ํจ์์ ๋ํ ์ธ์์ ๋ฐ๋ผ ๋ค๋ฅธ ์ ํ์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
-
๋ค๋ฅธ ์ธ์ด์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ์๊ณ ์์ต๋๋ค. R์๋ ์์ฒ ๊ฐ์ ๊ธฐ๋ฅ์ด ์์ผ๋ฉฐ, ๋ฌธ์๊ฐ ๊ฑฐ์์๋ ๊ฒฝ์ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์๋ ๊ธฐ๋ฅ์ด์์ ์ ์์ต๋๋ค.
์ ๋งคํ์ง๋ง ์ ์ฉํ ๊ธฐ๋ฅ๋ค :
sequence
diff
rle
embed
gl # Like rep(seq(),each=...) but returns a factor
์ผ๋ถ ๋ด์ฅ ๋ฐ์ดํฐ ์ธํธ ๋ฐ ๊ธฐํธ :
letters # 'a','b','c'...
LETTERS # 'A','B','C'...
month.abb # 'Jan','Feb'...
month.name # 'January','Feburary'...
T # TRUE
F # FALSE
pi # 3.14...
๋ต๋ณ
-
๋ก ํจํค์ง๋ฅผ ๊ฐ์ ธ ์ค๋ ๋์ ์
library์ฌ์ฉํ์ฌ ํจํค์ง์์ ๋ณ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค::. ๋ค์์ ๋น๊ตํ์ญ์์ค.library(splancs);inout(...) splancs::inout(...)๋ฌผ๋ก ํจํค์ง์์ ํ๋์ ๋จ์ผ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ง ์ ํจํฉ๋๋ค.
-
์ด๊ฒ์ ์ฌ์ํ์ด์ง๋ง ๊ธฐ๋ฅ์ ์จ๋ฆฌ์ด์ฑ์ ํ ๋ฏธ์ ํธ๋ฆญ @ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ๋ํ ์์ง ์๊ฐ๋ฝ์ ๊ท์น : ํจ์ ์ด๋ฆ์ ๊ธธ์ด๊ฐ์๋ ๊ฒฝ์ฐ
m์ ์ฌ์ฉnํ ๊ฒฝ์ฐ์๋ง ๋ณ์นญ ์๊ฐ์m*n > m+n+3์ง์ถ ๋ณ์นญ์ ์ ์ ํ ๋ (๋๋ฌธ์m+3๋ค์ ๋น์ ์ ์ฌ์ ํ ์ง์ถ ๋ณ๋ช ์ด ์ฌ์ฉ๋ ๋๋ง๋ค 1). ์๋ฅผ ๋ค๋ฉด :nrow(a)+nrow(b) # 4*2 < 4+3+2 n=nrow;n(a)+n(b) length(a)+length(b) # 6*2 > 6+3+2 l=length;l(a)+l(b) -
๊ธฐ๋ฅ์ ๋ถ์์ฉ์ผ๋ก ๊ฐ์ :
-
๋ฅผ ์ฌ์ฉํ๋ ๋์ ๋ค์์ ์ฌ์ฉํ์ฌ
as.integer๋ฌธ์์ด์ ์ ์๋ก ๊ฐ์ ๋ณํ ํ ์ ์์ต๋๋ค:.as.integer("19") ("19":1)[1] #Shorter version using force coercion. -
์ ์, ์ซ์ ๋ฑ์ ๋ค์
paste๋์ ์ ๋ฌธ์๋ฅผ ์ฌ์ฉํ์ฌ ๋น์ทํ๊ฒ ๊ฐ์ ํ ์ ์์ต๋๋คas.character.as.character(19) paste(19) #Shorter version using force coercion.
-
๋ต๋ณ
๋งค์ฐ ๊ตฌ์ฒด์ ์ธ ๊ณจํ ํ :
- ๋น์ ์ด ๋ฒกํฐ์ ๊ธธ์ด๋ฅผ ์ถ์ถํด์ผํ๋ ๊ฒฝ์ฐ,
sum(x|1)๋ณด๋ค ์งง์length(x)๋งํผx, ์ซ์์ ์ ์, ๋ณต์กํ๊ฑฐ๋ ๋ ผ๋ฆฌ์ ์ด๋ค. - ๋น์ ์ด ๋ฒกํฐ์ ๋ง์ง๋ง ์์๋ฅผ ์ถ์ถํด์ผํ๋ ๊ฒฝ์ฐ, ๊ทธ๊ฒ์ (๊ฐ๋ฅํ๋ค๋ฉด) ๋ฒกํฐ ์ด๊ธฐํํ๋ ์ ๋ ด ์ ์์ต๋๋ค ๋ค์ชฝ์ผ๋ก ์ฌ์ฉ
rev()ํ๊ณ ํธ์ถx[1]๋ณด๋ค๋x[length(x)](๋๋ ์์ ํ์ ์ฌ์ฉx[sum(x|1)]) (๋๋tail(x,1)โ ๊ฐ์ฌ ์ฃผ์ธํ์!). ์ด๊ฒ์ ๋ํ ์ฝ๊ฐ์ ๋ณํ (๋ ๋ฒ์งธ ๋ง์ง๋ง ์์๊ฐ ํ์ํ ๊ณณ)์ด ์ฌ๊ธฐ์์ ๋ณผ ์ ์์ต๋๋ค . ๋ฒกํฐ๋ฅผ ๋ค๋ก ์ด๊ธฐํ ํ ์ ์๋๋ผ๋rev(x)[1]์ฌ์ ํ ์งง์ต๋๋คx[sum(x|1)](๋ฐ ๋ฌธ์ ๋ฒกํฐ์์๋ ์๋ํฉ๋๋ค). ๋๋ก๋ ๋์ ์rev์ฌ์ฉn:1ํ๋ ๋ฑ์ ํ์์กฐ์ฐจ ์์ต๋๋ค1:n. -
( ์ฌ๊ธฐ์์ ๋ณผ ์ ์๋ฏ์ด ). ๋ฐ์ดํฐ ํ๋ ์์ ํ๋ ฌ๋ก ๊ฐ์ ๋ณํํ๋ ค๋ฉด์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค
as.matrix(x). ์กฐ์ฎ๊น์ ์กฐ์ฎ๊นt(t(x)). -
if๊ณต์์ ์ธ ๊ธฐ๋ฅ์ ๋๋ค. ์๋ฅผ ๋ค์ด,"if"(x<y,2,3)๋ณด๋ค ์งง์ต๋๋คif(x<y)2 else 3(๋ฌผ๋ก3-(x<y)๋ ์ค ํ๋๋ณด๋ค ์งง์ต๋๋ค). ์ด๋ฐ ์์ผ๋ก ๊ณต์ํํ๊ธฐ ์ํด ์ถ๊ฐ ๊ดํธ ์์ด ํ์ํ์ง ์์ ๊ฒฝ์ฐ์๋ง ๋ฌธ์๋ฅผ ์ ์ฅํฉ๋๋ค. -
๋์ผํ์ง ์์ ์ซ์ ๊ฐ์ฒด๋ฅผ ํ ์คํธํ๋
if(x-y)๊ฒฝ์ฐ๋ณด๋ค ์งง์ต๋๋คif(x!=y). 0์ด ์๋ ์ซ์๋๋ก ๊ฐ์ฃผ๋ฉ๋๋คTRUE. ํ๋ฑ์ ํ ์คํธํ๋ ๊ฒฝ์ฐ ๋์if(x==y)a else b์๋ํ์ญ์์คif(x-y)b else a. ๋ํ ์ด์ ์์ ์ ์ฐธ์กฐํ์ญ์์ค. -
์ด ๊ธฐ๋ฅ
el์ ๋ชฉ๋ก์์ ํญ๋ชฉ์ ์ถ์ถํด์ผ ํ ๋ ์ ์ฉํฉ๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์๋ ์๋ง๋strsplit:el(strsplit(x,""))์ด์ ์ ์ ๋ฐ์ดํธ์ ๋๋คstrsplit(x,"")[[1]]. -
( ์ฌ๊ธฐ์ ์ฌ์ฉ๋จ ) ๋ฒกํฐ ํ์ฅ์ ๋ฌธ์๋ฅผ ์ ์ฝ ํ ์ ์์ต๋๋ค. ๋ฒกํฐ
v๊ธธ์ด๊ฐ ๊ธธ๋ฉด ์ค๋ฅ์์ดnํ ๋น ํ ์ ์์ต๋๋คv[n+1]. ์ฒซ ๋ฒ์งธ ์ด ๊ณ์น์ ์ธ์ํ๊ณ ์ถ์ ์๋ฅผ ๋ค์ด, ๋น์ ์ ํ ์ :v=1;for(i in 2:10)v[i]=v[i-1]*i๋ณด๋ค๋v=1:10:for(...)(์ธ์ ๋์ฒ๋ผ, ๋ ๋ค๋ฅธ, ๋ ๋์ ๋ฐฉ๋ฒ์ด ์์ง๋ง :cumprod(1:10)) -
๋๋ก๋ ํ ์คํธ ๊ธฐ๋ฐ ๋ฌธ์ (ํนํ 2D ๋ฌธ์ )์
plot๊ฒฝ์ฐ ํ ์คํธ๋ณด๋ค ํ ์คํธ๊ฐ ๋ ์ฝ์ต๋๋คcat. ์ด๋ค ๋ฌธ์๊ฐ ๊ทธ๋ ค ์ง๋์งpch=๋ฅผplot์ ์ดํ๋ ์ธ์ . ์ด๊ฒ์pc=๋ฐ์ดํธ๋ฅผ ์ ์ฝํ๊ธฐ ์ํด ๋จ์ถ ๋ ์ ์์ต๋๋ค (๊ฒฝ๊ณ ๋ฅผ ์ค ๊ฒ์ ๋๋ค). ์ฌ๊ธฐ์ ์๊ฐ ์์ต๋๋ค . -
์ซ์๋ฅผ ๋ฐ๋ฅ์ ์ฐ๋ ค๋ฉด์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค
floor(x).x%/%1๋์ ์ฌ์ฉํ์ญ์์ค . -
์ซ์ ํ ๋ฒกํฐ ๋ ์ ์ํ ๋ฒกํฐ์ ์์๊ฐ ๋ชจ๋ ๊ฐ์์ง ํ ์คํธํ๋ ค๋ฉด
sd๊ณผ ๊ฐ์ ์ฅํฉํ ๊ฒ์ด ์๋๋ผ ์ข ์ข ์ฌ์ฉํ ์ ์์ต๋๋คall.equal. ๋ชจ๋ ์์๊ฐ ๋์ผํ๋ฉด ํ์ค ํธ์ฐจ๊ฐ 0 (FALSE) ์ด๊ณ ํ์ค ํธ์ฐจ๊ฐ ์์ (TRUE)์ ๋๋ค. ์ฌ๊ธฐ์ ์๊ฐ ์์ต๋๋ค . -
์ ์ ์ ๋ ฅ์ด ํ์ํ ์ผ๋ถ ํจ์๋ ์ค์ ๋ก ํ์ํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด,
seq(3.5)๋ฆฌํดํฉ๋๋ค1 2 3(:์ฐ์ฐ์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค ). ์ด๊ฒ์ ํธ์ถ์ ํผํ ์floor์์ผ๋ฉฐ ๋๋ก๋/๋์ ๋์ ์ฌ์ฉํ ์ ์์์ ์๋ฏธํฉ๋๋ค%/%.
๋ต๋ณ
- ๋ด์ฅ ๋งคํฌ๋ก๋ฅผ ๋จ์ฉ
Tํ๊ณF. ๊ธฐ๋ณธ์ ์ผ๋กTRUEand๋ก ํ๊ฐ๋๋ฉฐFALSE์ซ์1๋ฐ ๋ก ์๋ ๋ณํ0๋ ์ ์์ผ๋ฉฐ ๋ง์๋๋ก ์ฌ์ ์ ํ ์ ์์ต๋๋ค. ์ฆ, ์นด์ดํฐ๋ฅผ ์ด๊ธฐํ ํ ํ์๊ฐ ์์ต๋๋ค (์ :i=0โฆi=i+1)T๋๋Fํ์์ ๋ฐ๋ผ ์ฌ์ฉ ํ๊ฑฐ๋F=F+1๋์ค์ ๋ฐ๋ก ์ด๋ํ ์ ์์ต๋๋ค . - ํจ์๋ ๋ง์ง๋ง์ผ๋ก
return()ํธ์ถ ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ฏ๋ก ๋ช ์์ ์ธ ํธ์ถ์ด ํ์ํ์ง ์์ต๋๋ค . -
์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ํจ์์ ๋ํ ์งง์ ๋ณ์นญ์ ์ ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค
p=paste. ํจ์๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ณ ์ ํํ ๋ ๊ฐ์ ์ธ์ ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณ์นญ์ด ๋ถ์ผ๋ฉด ์ผ๋ถ ๋ฐ์ดํธ๊ฐ ์ ์ฝ ๋ ์ ์์ต๋๋ค. ์ฝ์ ๋ณ๋ช ์๋ก ๋ฌถ์ด์ผํฉ๋๋ค%. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.`%p%`=paste๊ทธ๋ฆฌ๊ณ ์ดํ
x%p%y1 ๋ฐ์ดํธ๋ณด๋ค ์งง์ ๊ฒp(x,y)์ ๋๋ค. ๊ทธ๋๋ ๋ณ๋ช ์ ์๋ ๋น๊ณ ์ ๋ณด ๋ค 4 ๋ฐ์ดํธ ๋ ๊ธธp=paste๋ฏ๋ก ๊ทธ ๊ฐ์น๊ฐ ์๋์ง ํ์ธํด์ผํฉ๋๋ค.
๋ต๋ณ
์ฌ์ฉ if, ifelse๋ฐ`if`
R.์์ if-statement๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ๊ณจํ ์ต์ ํ ์๋ฃจ์ ์ ํฌ๊ฒ ๋ค๋ฅผ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ
if์ ์ด ํ๋ฆ์ ๋๋ค. ๋ฒกํฐํ๋์ง ์์ต๋๋ค. ์ฆ, ๊ธธ์ด 1์ ์กฐ๊ฑด ๋ง ํ๊ฐํ ์ ์์ต๋๋ค.else์ ํ์ ์ผ๋ก else ๊ฐ์ ๋ฐํํด์ผํฉ๋๋ค.ifelseํจ์์ ๋๋ค. ๋ฒกํฐํ๋์ด ์์ ๊ธธ์ด์ ๊ฐ์ ๋ฐํ ํ ์ ์์ต๋๋ค. ์ธ ๋ฒ์งธ ์ฃผ์ฅ (๋ค๋ฅธ ๊ฐ์น)์ ์๋ฌด์ ์ ๋๋ค. *`if`์ ๊ตฌ๋ฌธ์ด ๋์ผํ ํจ์ifelse์ ๋๋ค. ๋ฒกํฐํ๋์ง ์์์ผ๋ฉฐ ๋ฐํ ์ธ์๊ฐ ์๋ฌดํ๋์ง ์์์ต๋๋ค.
* ๊ธฐ์ ์ ์ผ๋ก ์๋ฌด์ ์ธ ๊ฒ์ ์๋๋๋ค. ifelse(TRUE,x)์ ์๋ํ์ง๋ง ์ธ ๋ฒ์งธ ์ธ์๊ฐ ๋น์ด ์๊ณ ์กฐ๊ฑด์ด๋ก ํ๊ฐ๋๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค FALSE. ๋ฐ๋ผ์ ์กฐ๊ฑด์ด ํญ์ ํ์คํ๋ค๊ณ ํ์ ํ๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ์์ ํ๋ฉฐ TRUE, ๊ทธ๋ฌํ ๊ฒฝ์ฐ if ๋ฌธ์ผ๋ก ๊ท์ฐฎ๊ฒํ๋ ์ด์ ๋ ๋ฌด์์
๋๊น?
์
์ด๋ค์ ๋ชจ๋ ๋๋ฑํฉ๋๋ค :
if(x)y else z # 13 bytes
ifelse(x,y,z) # 13 bytes
`if`(x,y,z) # 11 bytes
else์ฝ๋์์ ์ง์ ๋ฌธ์์ด์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ณต๋ฐฑ ์ด ํ์ํ์ง ์์ต๋๋ค.
if(x)"foo"else"bar" # 19 bytes
ifelse(x,"foo","bar") # 21 bytes
`if`(x,"foo","bar") # 19 bytes
์ง๊ธ๊น์ง `if`์
๋ ฅ์ ๋ฒกํฐํํ์ง ์์ ํ ์น์๊ฐ ๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค. ๊ทธ๋ฌ๋ else ์กฐ๊ฑด์ ๊ด์ฌ์ด์๋ ๊ฒฝ์ฐ๋ ์ด๋ป์ต๋๊น? ์กฐ๊ฑด์ด ์ธ ๊ฒฝ์ฐ ์ผ๋ถ ์ฝ๋ ๋ง ์คํํ๋ ค๊ณ ํ๋ค๊ณ ๊ฐ์ ํด๋ณด์ญ์์ค TRUE. ํ ์ค์ ์ฝ๋๋ง์ผ๋ก๋ if๊ฐ์ฅ ์ข์ต๋๋ค.
if(x)z=f(y) # 11 bytes
ifelse(x,z<-f(y),0) # 19 bytes
`if`(x,z<-f(y)) # 15 bytes
์ฌ๋ฌ ์ค์ ์ฝ๋์์ if์ฌ์ ํ ์น์๊ฐ๋ฉ๋๋ค.
if(x){z=f(y);a=g(y)} # 20 bytes
ifelse(x,{z=f(y);a=g(y)},0) # 27 bytes
`if`(x,{z=f(y);a=g(y)}) # 23 bytes
์ด ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฅ์ฑ์ด๊ธฐ๋ ์๋ ๋ค๋ฅธ ์กฐ๊ฑด์ ๋ํ ๊ด์ฌ์, ์ฐ๋ฆฌ๋ ์์์ ์ฝ๋๋ฅผ ์คํํ๋ ๋์ ๊ฐ์ ๋ฐํ ํ ์์น. ์ด๋ฌํ ๊ฒฝ์ฐ, if๋ฐ `if`๋ฐ์ดํธ ์์ ๋์ผํฉ๋๋ค.
if(x)a=b else z=b # 17 bytes
ifelse(x,a<-b,z<-b) # 19 bytes
`if`(x,a<-b,z<-b) # 17 bytes
if(x){z=y;a=b}else z=b # 22 bytes
ifelse(x,{z=y;a=b},z<-b) # 24 bytes
`if`(x,{z=y;a=b},z<-b) # 22 bytes
if(x)a=b else{z=b;a=y} # 22 bytes
ifelse(x,a<-b,{z=b;a=y}) # 24 bytes
`if`(x,a<-b,{z=b;a=y}) # 22 bytes
if(x){z=y;a=b}else{z=b;a=y} # 27 bytes
ifelse(x,{z=y;a=b},{z=b;a=y}) # 29 bytes
`if`(x,{z=y;a=b},{z=b;a=y}) # 27 bytes
์์ฝ
-
ifelse๊ธธ์ด๊ฐ 1๋ณด๋ค ํฐ ์ ๋ ฅ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ์ญ์์ค . -
๋ง์ ์ฝ๋ ์ค์ ์คํํ์ง ์๊ณ ๊ฐ๋จํ ๊ฐ์ ๋ฐํํ๋ ๊ฒฝ์ฐ
`if`ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด fullifโฆelse๋ฌธ ๋ณด๋ค ์งง์ ์ ์์ต๋๋ค. -
์ธ์ ๋จ์ผ ๊ฐ์ ์ํ๋ฉด์
TRUE์ฌ์ฉํ์ญ์์คif. -
์์์ ์ฝ๋๋ฅผ ์คํ
`if`ํ๊ณif์ผ๋ฐ์ ๋ฐ์ดํธ ๊ฐ์์ ๊ด์ ์์ ๋์ผํ๋ค; ๋๋if์ฃผ๋ก ์ฝ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ ์ถ์ฒ ํฉ๋๋ค.
๋ต๋ณ
-
๋ณ์๋ฅผ ํจ์์ ๋ํ ์ธ์๋ก ์ ๊ณตํ๋ฉด์ ๋์์ ํ์ฌ ํ๊ฒฝ์ ๋ณ์๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
sum(x <- 4, y <- 5) x y -
a๋ฅผ ๋ถ๋ถ ์งํฉํ๊ณ
data.frame์กฐ๊ฑด์ด ์ฌ๋ฌ ์ด์ ์์กดdata.frameํ๋ ๊ฒฝ์ฐwith(๋๋subset) ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฆ์ ๋ฐ๋ณตํ์ง ์์๋ ๋ฉ๋๋ค.d <- data.frame(a=letters[1:3], b=1:3, c=4:6, e=7:9) with(d, d[a=='b' & b==2 & c==5 & e==8,])๋์ ์
d[d$a=='b' & d$b==2 & d$c==5 & d$e==8,]๋ฌผ๋ก ์ด๊ฒ์ ์ฐธ์กฐ
data.frame๊ธธ์ด๊ฐ ๊ธธ์ด๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ์๋ง ๋ฌธ์๋ฅผ ์ ์ฅํฉ๋๋ค.with(,) -
if...else๋ธ๋ก์ ๋ธ๋ก์ ์ผ๋ถ๊ฐ ์คํ๋๋ ์ต์ข ๋ช ๋ น๋ฌธ์ ๊ฐ์ ๋ฆฌํด ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ดa <- 3 if (a==1) y<-1 else if (a==2) y<-2 else y<-3๋น์ ์ ์ธ ์ ์์ต๋๋ค
y <- if (a==1) 1 else if (a==2) 2 else 3
๋ต๋ณ
์์ ์ ์ ํ ๋ณํ
๊ธฐ๋ฅ์ as.character, as.numeric๊ทธ๋ฆฌ๊ณ as.logical๋๋ฌด ๋ฐ์ดํธ ๋ฌด๊ฒ์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ๋ค๋ฌ์ด ๋ด
์๋ค.
์ซ์ (4 ๋ฐ์ดํธ)์์ ๋ ผ๋ฆฌ๋ก ๋ณํ
x์ซ์ ํ ๋ฒกํฐ ๋ผ๊ณ ๊ฐ์ ํ์ญ์์ค . ๋
ผ๋ฆฌ not ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด !์ซ์๊ฐ ์์ ์ ์ผ๋ก ๋
ผ๋ฆฌ ๋ฒกํฐ๋ก ๋ค์ ์บ์คํ
๋ฉ๋๋ค . ์ฌ๊ธฐ์ 0is FALSE๋ฐ 0์ด ์๋ ๊ฐ์ TRUE์
๋๋ค. !๊ทธ๋ฐ ๋ค์ ๋ฐ์ ์ํต๋๋ค.
x=!x
x=0:3;x=!x์ ๋ฐํํฉ๋๋ค TRUE FALSE FALSE FALSE.
์ซ์ ๋๋ ๋ ผ๋ฆฌ (7 ๋ฐ์ดํธ)์์ ๋ฌธ์๋ก ๋ณํ
์ด๊ฒ์ ์ฌ๋ฏธ์๋ ๊ฒ์ ๋๋ค. ( ์ด ํธ์ ์์)
x[0]=''
R ์ ํด๋์ค ์ ์ธ ๋ฒกํฐ x๋ฅผ ์
๋ฐ์ดํธํ๊ณ ์์์ ์์์ต๋๋ค . ๋ฐ๋ผ์ ์๋ก์ด ๋ฐ์ดํฐ ํฌ์ธํธ์ ํธํ๋๋๋ก ํด๋์ค์ ์บ์คํธ ๋ฉ๋๋ค . ๋ค์์ผ๋ก, ๋ฃ์ด ๊ฐ๋ค ์ ์ ํ ์ฅ์์ โฆํ์ง๋ง ์ธ๋ฑ์ค (์ด ํธ๋ฆญ๋ ํจ๊ป ์๋ ์กด์ฌํ์ง ์๋ , , , , ๋ฑ). ๊ฒฐ๊ณผ์ ์ผ๋ก ํด๋์ค์์๋ง ์์ ๋ฉ๋๋ค.''characterxcharacter''0InfNaNNANULLx
x=1:3;x[0]=''๋ฐํ "1" "2" "3"๋ฐ x=c(TRUE,FALSE);x[0]=''๋ฐํ "TRUE" "FALSE".
์์
๊ณต๊ฐ์ ์ด๋ฏธ ๋ฌธ์ ์ค๋ธ์ ํธ๊ฐ ์ ์๋์ด ์์ผ๋ฉด ''๋ฐ์ดํธ๋ฅผ ์ ์ฅํ๋ ๋์ ์ด ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค . ์ x[0]=y!
ํน์ ์กฐ๊ฑด (6 ๋ฐ์ดํธ)์์ ์ซ์ ๋๋ ๋ ผ๋ฆฌ ๋ฌธ์๋ก ๋ณํ
J.Doe ๋ ์ฃผ์์์ 6 ๋ฐ์ดํธ ์๋ฃจ์ ์ ์ง์ ํ์ต๋๋ค.
c(x,"")
x์์ ์ธ ๊ฒฝ์ฐ ์์ ๋ฒกํฐ๊ฐ ํ์ํ ํจ์์ ์ ๋ฌํ๋ ค๋ ๊ฒฝ์ฐ ์๋ํฉ๋๋ค . ์ด ํจ์๋ ์ธ์์ ์์๋ฅผ ๋ฌด์ํ๋ ๊ฒ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ํ์ ํ ์ ์์ต๋๋ค.
๋ ผ๋ฆฌ (4 ๋ฐ์ดํธ)์์ ์ซ์๋ก ๋ณํ
์์์ ํํค ์ธ๋ฑ์ฑ ํธ๋ฆญ์ ์ฌ์ฉํ ์ x[0]=3์์ง๋ง ์ค์ ๋ก ๋ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
x=+x
์์ ์ฐ์ฐ์๋ ์์ ์ ์ผ๋ก ๋ฒกํฐ๋ฅผ ์ซ์ ๋ฒกํฐ๋ก ๋ค์ ์บ์คํ
ํ๋ฏ๋ก์ด TRUE FALSE๋ฉ๋๋ค 1 0.