R์ ๋ด์ฅ๋ ๊ธฐ๋ณธ ํจ์์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด์.
โก if ( ) { } else if ( ) { } else { }
In:
char = 'A'
if (char == 'B') {
print('if')
} else if (char == 'C') {
print('else if')
} else {
print('else')
}
Out:
[1] "else"
โก for ( ) { }
In:
for (i in 1:5) {
print(i)
}
Out:
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
โก ifelse
In:
char = 'A'
ifelse(char == 'A', 'char is A', 'char is not A')
Out:
[1] "char is A"
โท ifelse ํจ์์ ์ฒซ ๋ฒ์งธ ์ธ์๋ ์กฐ๊ฑด์ ์จ์งํ๊ณ , ๋ ๋ฒ์งธ ์ธ์๋ ์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์ฐ์ ์ถ๋ ฅ๊ฐ์ด๊ณ , ์ธ ๋ฒ์งธ ์ธ์๋ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ์ ์ถ๋ ฅ๊ฐ์ ์๋ฏธํ๋ค.
โก which, which.max, which.min
In:
x = 1:10
which(x == 5)
which.max(x)
which.min(x)
Out:
[1] 5
[1] 10
[1] 1
โท which ํจ์์ ์ธ์์ ์กฐ๊ฑด์ ์ฃผ๊ณ , ์ด ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ์ ์์น๋ฅผ ์ป์ ์ ์๋ค.
โท which.max ํจ์๋ ํด๋น ๋ฒกํฐ์ ์ต๋๊ฐ์ด ํฌํจ๋ ์์น๋ฅผ ์ถ๋ ฅํ๋ค. which.min ํจ์๋ ์ต์๊ฐ์ด ํฌํจ๋ ์์น๋ฅผ ์ถ๋ ฅํ๋ค.
โก order, sort
In:
y = sample(10:20)
print(y)
order(x)
sort(x)
Out:
[1] 14 11 18 10 16 17 15 13 12 19 20
[1] 4 2 9 8 1 7 5 6 3 10 11
[1] 10 11 12 13 14 15 16 17 18 19 20
โท order ํจ์๋ ์ค๋ฆ์ฐจ์์ผ๋ก ๋์ดํ์ ๋์ ๋ฒกํฐ์ ์์น๋ฅผ ์ถ๋ ฅํ๋ค. sort ํจ์๋ ์ ๋ ฌ๋ ํ์ ๋ฒกํฐ๋ฅผ ์ถ๋ ฅํ๋ค.
โก subset
In:
df = data.frame(a = c('A', 'B', 'C', 'A'),
b = c('C', 'B', 'A', 'C'))
print(df)
subset(df, a == 'B' & b == 'B')
Out:
a b
1 A C
2 B B
3 C A
4 A C
a b
2 B B
โท subset ํจ์๋ ๋ฐ์ดํฐํ๋ ์์ ์ผ๋ถ๋ฅผ ์ถ์ถํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ์ฒซ ๋ฒ์งธ ์ธ์๋ก ์ฃผ์ด์ง ๋ฐ์ดํฐํ๋ ์์ ๋ํด ๋ ๋ฒ์งธ ์ธ์๋ก ์ฃผ์ด์ง ์กฐ๊ฑด๋ง ๋ง์กฑํ๋ ๋ฐ์ดํฐํ๋ ์์ ์ถ์ถํ๋ค.
โก rbind
In:
df_1 = data.frame(a = c('A', 'B', 'C', 'A'),
b = c('C', 'B', 'A', 'C'))
df_2 = data.frame(a = c('C', 'F', 'K', 'B'),
b = c('D', 'E', 'M', 'D'))
df_1 %>%
rbind(df_2)
Out:
a b
1 A C
2 B B
3 C A
4 A C
5 C D
6 F E
7 K M
8 B D
โท rbind ํจ์๋ ๋ ๋ฐ์ดํฐํ๋ ์์ ํ์ ๊ธฐ์ค์ผ๋ก ์ด์ด์ฃผ๋ ์ญํ ์ ์ํํ๋ค.
โก cbind
In:
df_3 = data.frame(a = c('A', 'B', 'C', 'A'),
b = c('C', 'B', 'A', 'C'))
df_4 = data.frame(c = c('C', 'F', 'K', 'B'),
d = c('D', 'E', 'M', 'D'))
df_3 %>%
cbind(df_4)
Out:
a b c d
1 A C C D
2 B B F E
3 C A K M
4 A C B D
โท cbind ํจ์๋ ๋ ๋ฐ์ดํฐํ๋ ์์ ์ด์ ๊ธฐ์ค์ผ๋ก ์ด์ด์ฃผ๋ ์ญํ ์ ์ํํ๋ค.
โก rep
In:
rep(1, 10)
Out:
[1] 1 1 1 1 1 1 1 1 1 1
โท rep ํจ์๋ ์ฒซ ๋ฒ์งธ ์ธ์์ ๊ฐ์ ๋ ๋ฒ์งธ ์ธ์๋งํผ์ ๋ฐ๋ณตํ์ฌ ๋ฒกํฐ๋ฅผ ๋ง๋ ๋ค.
โก seq
In:
seq(1, 100)
Out:
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
[17] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
[33] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
[49] 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
[65] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
[81] 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
[97] 97 98 99 100
โท seq ํจ์๋ ์ฒซ ๋ฒ์งธ ์ธ์์ ๊ฐ๋ถํฐ ๋ ๋ฒ์งธ ์ธ์์ ๊ฐ๊น์ง ๊ธฐ๋ณธ ๋จ์๋ก ๋ฒกํฐ๋ฅผ ์์ฑํ๋ค. length.out, by ์ธ์๋ฅผ ์ด์ฉํ์ฌ ๋ค์ํ ํํ์ ๋ฒกํฐ๋ฅผ ๋ง๋ค ์ ์๋ค.
โก floor, ceiling, round
In:
floor(10.6)
ceiling(10.6)
round(10.6)
Out:
[1] 10
[1] 11
[1] 11
โท floor, ceiling, round ํจ์๋ ๋ง ๊ทธ๋๋ก ์ฌ๋ฆผ, ๋ด๋ฆผ, ๋ฐ์ฌ๋ฆผ ์ญํ ์ ์ํํ๋ค.
'Programming > R' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
caret ์ฌ์ฉ๋ฒ (0) | 2020.10.22 |
---|---|
dplyr ์ฌ์ฉ๋ฒ (0) | 2020.10.22 |
๊ฒฐ์ธก์น ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ (0) | 2020.10.21 |
CSV ํ์ผ ์ฝ๊ธฐ/์ฐ๊ธฐ (0) | 2020.10.21 |
๋ฌธ์์ด ๋ฐ์ดํฐ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ (0) | 2020.10.20 |