์ž๋ฃŒ ๊ตฌ์กฐ ์œ ํ˜• 5๊ฐ€์ง€
1. Vector : ๋™์ผํ•œ ์ž๋ฃŒํ˜•์„ ๊ฐ–๋Š” 1์ฐจ์› ๋ฐฐ์—ด๊ตฌ์กฐ
์ƒ์„ฑ ํ•จ์ˆ˜ : c(), seq(), rep()

1) c(n, n2, ...) ํ•จ์ˆ˜

var1 <- c(23, -12, 10:20) #๋ฒกํ„ฐ์˜ ์›์†Œ ๋งŒ๋“ค๊ธฐ #:์„ ์ด์šฉํ•ด ์—ฐ์†๋œ ์ •์ˆ˜ ์ƒ์„ฑ
var1
length(var1) #13 (์›์†Œ์˜ ๊ฐœ์ˆ˜)
mode(var1) #numeric
sum(var1) #13๊ฐœ ์›์†Œ์˜ ํ•ฉ์€ 176


๋ฒกํ„ฐ ์›์†Œ ์ด๋ฆ„ ์ง€์ •

ages <- c(30, 35, 25)
names(ages) <- c('ํ™๊ธธ๋™', '์ด์ˆœ์‹ ', '์œ ๊ด€์ˆœ')
ages #๋ฒกํ„ฐ๊ฐ’์€ 30, 35, 25. ํ™๊ธธ๋™, ์ด์ˆœ์‹ , ์œ ๊ด€์ˆœ์€ ์ž๋ฃŒ๊ฐ€ ์•„๋‹ˆ๊ณ  ์ฐธ๊ณ ์šฉ
mean(ages) #ages์˜ ํ•ฉ๊ณ„ ํ‰๊ท 


2) sequence (from, to, by)

seq(from=1, to=100, by=2) #1๋ถ€ํ„ฐ 100๊นŒ์ง€, 2์”ฉ ์ฆ๊ฐ€
seq(from=100, to=1, by=-2) #100๋ถ€ํ„ฐ 1๊นŒ์ง€, 2์”ฉ ๊ฐ์†Œ

 

3) rep()

rep(1:3, 3) #1,2,3์„ 3๋ฒˆ ๋ฐ˜๋ณต
rep(1:3, each=3) #1,1,1 2,2,2 ๊ฐœ๋ณ„์ ์œผ๋กœ 3๋ฒˆ ๋ฐ˜๋ณต


4) Index (์ƒ‰์ธ) : ๊ฐ’์ด ์ €์žฅ๋œ ์œ„์น˜
* ๋ณ€์ˆ˜[n]

a = 1:50
a
a[10] # 10๋ฒˆ์งธ ์ €์žฅ๋œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ด
a[11:20] #11๋ฒˆ์งธ๋ถ€ํ„ฐ 20๋ฒˆ์งธ๊นŒ์ง€์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ด
a[c(5, 10, 15, 40:45)] #cํ•จ์ˆ˜๋กœ ๋ฌถ์–ด์ฃผ์–ด์•ผ ํ•จ. a[5, 10, 15, 40:45]์€ error
a[-c(5, 20)] #์—ฌ๋Ÿฌ ์›์†Œ ์ค‘์—์„œ ํŠน์ • ๊ฐ’๋งŒ ์ œ์™ธ


์กฐ๊ฑด์‹ ์ด์šฉ

a[a >= 20] #>=:๊ด€๊ณ„์—ฐ์‚ฐ์ž. 20์ด์ƒ ๊ฐ’๋งŒ ์ถ”์ถœ
a[a>=20 & a<=35] #&(=AND):๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž. 20์ด์ƒ 35์ดํ•˜ ๊ฐ’๋งŒ ์ถ”์ถœ
a[a>=20 | a<=35] #|(=OR):๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž. 20์ด์ƒ์ด๊ฑฐ๋‚˜ 35์ดํ•˜๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๊ฐ’๋งŒ ์ถ”์ถœ
a[!(a>=20)] #!(NOT):๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž. 20์ดํ•˜๊ฐ€ ์•„๋‹Œ ๊ฐ’๋งŒ ์ถ”์ถœ


ํ•จ์ˆ˜ ์ด์šฉ

length(a) #50
a[10:length(a)]


a์˜ ์ง์ˆ˜ ์›์†Œ

a[seq(2, length(a), 2)]






2. Matrix ์ž๋ฃŒ๊ตฌ์กฐ
๋™์ผ ์ž๋ฃŒํ˜•์„ ๊ฐ–๋Š” 2์ฐจ์› ๋ฐฐ์—ด
์ƒ์„ฑํ•จ์ˆ˜ : matrix, rbind, cbind
์ฒ˜๋ฆฌํ•จ์ˆ˜ : apply


1) matrix() : ๋ฐ์ดํ„ฐ ์ƒ์„ฑ

m1 = matrix(data=1:5, ncol=2)
m1
dim(m1) #sahpe : 1 5

m2 <- matrix(data = 1:9, nrow = 3, ncol = 3, byrow = TRUE)
m2


2) rbind : ํ–‰ ๋ฌถ์Œ

v1 = 1:5
v2 = 6:10
v1; v2
m3 = rbind(v1, v2)


3) cbind : ์นผ๋Ÿผ ๋ฌถ์Œ

m4 = cbind(v1, v2)
m4
dim(m4) # 5 2 : 5ํ–‰ 2์—ด์˜ ๊ตฌ์กฐ


4) matrix ์ƒ‰์ธ
* ๋ณ€์ˆ˜[row, col]

m4[1, ] #1ํ–‰ ์ „์ฒด
m4[ ,2] #2์—ด ์ „์ฒด
m4[2:4, ] #boxํ˜•์œผ๋กœ ๊ฐ’ ์ถœ๋ ฅ
m4[-3, ] #3ํ–‰๋งŒ ์ œ์™ธ

 

<ADsP ์˜ˆ์ œ>
xy = rbind(v1, v2)
xy

1) [1, ]๋Š” v1๊ณผ ๊ฐ™๋‹ค (O)
2) [ ,1]๋Š” v2์™€ ๊ฐ™๋‹ค (X)
3) 2X5์˜ ํ–‰๋ ฌ๊ตฌ์กฐ์ด๋‹ค (O)
4) ์ž๋ฃŒ์˜ ๊ตฌ์กฐ๋Š” matrix๋‹ค (O)

 

5) apply(data, ํ–‰/์—ด, ์ ์šฉ์‹œํ‚ฌ ์™ธ๋ถ€ํ•จ์ˆ˜) : ํ•จ์ˆ˜ ์ ์šฉ

apply(m4, 1, mean)
apply(m4, 2, mean)
apply(m4, 2, sd) #์—ด ๋‹จ์œ„ ํ‘œ์ค€ํŽธ์ฐจ






3. Array ์ž๋ฃŒ๊ตฌ์กฐ (์‚ฌ์šฉ๋นˆ๋„ ๋‚ฎ์Œ)
๋™์ผ ์ž๋ฃŒํ˜•์„ ๊ฐ–๋Š” 3์ฐจ์› ๋ฐฐ์—ด๊ตฌ์กฐ
์ƒ์„ฑํ•จ์ˆ˜ : array (data, dim)

data = 1:12
data

arr = array(data = data, dim = c(3,2,2)) # c(ํ–‰,์—ด,๋ฉด)
arr

Array ์ƒ‰์ธ

arr[,,1]
arr[,,2]
arr[2:3,,2]

 

 

 

 

 

4. DataFrame ์ž๋ฃŒ๊ตฌ์กฐ
2์ฐจ์› ๋ฐฐ์—ด๊ตฌ์กฐ, ์นผ๋Ÿผ ๋‹จ์œ„๋กœ ์ƒ์ดํ•œ ์ž๋ฃŒํ˜•์„ ๊ฐ–๋Š”๋‹ค (table์€ ๋™์ผ)
์ƒ์„ฑํ•จ์ˆ˜ : data.frame()
์ฒ˜๋ฆฌํ•จ์ˆ˜ : apply()

1) vector ์ƒ์„ฑ(=์นผ๋Ÿผ)

empno = 1:3
ename = c('ํ™๊ธธ๋™', 'lee', 'yoo')
age = c('35, 25, 45')
pay = c(250, 350, 250)


2) DataFrame
emp = data.frame(NO=empno, NAME=ename, AGE=age, PAY=pay)
์นผ๋Ÿผ๋“ค์ด ๋ชจ์—ฌ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„ ํ˜•์„ฑ
๋ณ€์ˆ˜์˜ ์ด๋ฆ„ ์ง€์ • ๊ฐ€๋Šฅ

emp
str(emp) #emp์ž๋ฃŒ์— ๋Œ€ํ•œ ๊ตฌ์กฐ ์ƒ์„ธํ•˜๊ฒŒ ์‚ดํŽด๋ณด๊ธฐ

'data.frame': 3 obs. of  4 variables:
$ NO  : int  1 2 3
$ NAME: chr  "ํ™๊ธธ๋™" "lee" "yoo"
$ AGE : chr  "35, 25, 45" "35, 25, 45" "35, 25, 45"
$ PAY : num  250 350 250
* obs๊ฐ€ ์—ด, variables๋Š” ํ–‰
* int๋Š” ์ด์‚ฐํ˜•(์—ฐ์†์„ฑ์ด ์—†๋Š” ์ •์ˆ˜๋“ค), chr๋Š” ๋ฌธ์žํ˜•, num์€ ์—ฐ์†ํ˜•


3) ์ž๋ฃŒ ์ฐธ์กฐ : DF$column (index๋ณด๋‹ค ์„ ํ˜ธ๋จ DF:Data Frame)

emp$PAY
mean(pay) #pay๊ฐ’์˜ ํ‰๊ท 
round(mean(pay)) #์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฐ˜์˜ฌ๋ฆผ

pay = emp$PAY
plot(pay)

dim(emp) #3ํ–‰ 4์—ด


3-2) ์ฐจ๋ฃŒ ์ฐธ์กฐ : ์ƒ‰์ธ (ํ–‰/์—ด ์ž๋ฃŒ ์ฐธ์กฐ)

emp[1,]
emp[,4]


4) APPLY()

v1 = 1:5
v2 = 6:10
df = data.frame(v1, v2)
df

apply(df, 2, mean) # ์—ด ๋‹จ์œ„ ํ‰๊ท  ์ถœ๋ ฅ

 

 

 



5. LIST ์ž๋ฃŒ๊ตฌ์กฐ
1๊ฐœ ์›์†Œ : ํ‚ค=๊ฐ’
์„œ๋กœ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š” ์ž๋ฃŒ๊ตฌ์กฐ
list(key=value, key2=value2, ...) vs c(value1, value2, ...)
key๋ฅผ ์ด์šฉํ•ด ๊ฐ๊ฐ์˜ value๋ฅผ ์ฐธ์กฐ
key ์ค‘๋ณต๋ถˆ๊ฐ€๊ฐ€


1) list(key=value) ํ˜•์‹

member = list(name='ํ™๊ธธ๋™', age=35, addr='์„œ์šธ์‹œ', gender='๋‚จ')

* list ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๊ฐ์ฒด ์ƒ์„ฑ

member
# $name : $key
# [1] "ํ™๊ธธ๋™" : value


key๋ฅผ ์ด์šฉํ•ด value ์ฐธ์กฐ

member$name #"ํ™๊ธธ๋™"
member$addr #"์„œ์šธ์‹œ"

member$age = 45 #value๊ฐ’ ์ˆ˜์ •
member


2) list(value)ํ˜•์‹ : key ์ƒ๋žต

member2 = list ('ํ™๊ธธ๋™', 35, '์„œ์šธ์‹œ', '๋‚จ')
member2
# [[n]]๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ key ์ œ๊ณต

member2[[1]] #"ํ™๊ธธ๋™"
member2[[3]] #"์„œ์šธ์‹œ"

member2 = list(c ('ํ™๊ธธ๋™','์ด์ˆœ์‹ '), 35, '์„œ์šธ์‹œ', '๋‚จ')
member2

member2[[1]] #"ํ™๊ธธ๋™", "์ด์ˆœ์‹ "
member2[[1]][2] #"์ด์ˆœ์‹ " [2]๋Š” ๋ฒกํ„ฐ์˜ ์ƒ‰์ธ
member2[[3]] #"์„œ์šธ์‹œ"


list -> vector ๋ณ€ํ™˜ (key ์ œ๊ฑฐ)

vec = unlist(member2)
vec

 





6. ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ & ์ •๊ทœํ‘œํ˜„์‹ (๋ฉ”ํƒ€๋ฌธ์ž)

install.packages('stringr')
library(stringr)

string = "hong35lee45kang45์œ ๊ด€์ˆœ25์ด์‚ฌ๋„์‹œ55"
mode(string) #"character"


1) ๋ฐ˜๋ณต๊ด€๋ จ ๋ฉ”ํƒ€๋ฌธ์ž : [x]:x์ผ์น˜, {n}:n๊ฐœ ์—ฐ์†

str_extract(string, '[0-9]{2}') #๋ฌธ์ž์—ด ๋ฐ˜ํ™˜. [0๋ถ€ํ„ฐ 9๊นŒ์ง€] ์—ฐ์†๋˜๋Š” ์ˆซ์ž {2}๊ฐœ ์ถ”์ถœ
re=str_extract_all(string, '[0-9]{2}') #list๋ฐ˜ํ™˜.
unlist(re) #vectorํ˜•์œผ๋กœ ์ „ํ™˜


์˜๋ฌธ์ž ์ถ”์ถœ ์‚ฌ๋ก€

str_extract_all(string, '[a-z]{3}') #"hon" "lee" "kan"
str_extract_all(string, '[a-z]{4}') #"hong" "kang"
str_extract_all(string, '[a-z]{3,}') #"hong" "lee"  "kang" 3์ž ์ด์ƒ ์˜๋ฌธ ์ถ”์ถœ

  
ํ•œ๊ธ€ ์ถ”์ถœ ์‚ฌ๋ก€

str_extract_all(string, '[๊ฐ€-ํžฃ]{3,}') #"์œ ๊ด€์ˆœ" "์ด์‚ฌ๋„์‹œ" 3์ž ์ด์ƒ ํ•œ๊ธ€ ์ถ”์ถœ


2) ์ ‘๋‘์–ด/์ ‘๋ฏธ์–ด ๋ฉ”ํƒ€๋ฌธ์ž : ^, $

str_extract_all(string, '^[a-z]') #"h" ์–ด๋–ค ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š”์ง€
str_extract_all(string, '[0-9]$') #"5" ์–ด๋–ค ์ˆซ์ž๋กœ ๋๋‚ฌ๋Š”์ง€

 

3) ๋ถ€์ • ๋ฉ”ํƒ€๋ฌธ์ž : [^x]

str_extract_all(string, '[^0-9]{3,}')


4) ๋ฌธ์ž์—ด ๊ธธ์ด

length(string) #1
str_length(string) #28


5) ๋ฌธ์ž์—ด ๊ต์ฒด

str_replace_all(string, '[0-9]{2}, '-') #๊ต์ฒด
str_replace_all(string, '[0-9]{2}, '') #์ œ๊ฑฐ
re = str_replace_all(string, '[0-9]{2}', '')
re


6) ๋ฌธ์ž์—ด ๋ถ„๋ฆฌ(split) = ํ† ํฐ(๋ฌธ์žฅ์„ ๋‹จ์–ด ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌ)

string2 = 'ํ™๊ธธ๋™,์ด์ˆœ์‹ ,์œ ๊ด€์ˆœ'
names = str_split(string2, ',')
names = unlist(names) #list > vector
names[2] #"์ด์ˆœ์‹ "


7) ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ : ๋‹จ์–ด๋ฅผ ๋ฌธ์žฅ์œผ๋กœ๋กœ

sent = str_c(names, collapse = ' ') #๋‹จ์–ด์™€ ๋‹จ์–ด๋ฅผ ํ•˜๋‚˜์˜ ๊ณต๋ฐฑ๋งŒ์„ ๋‘๊ณ  ๊ฒฐํ•ฉ์‹œํ‚ฌ ๋•Œ
sent #"ํ™๊ธธ๋™  ์ด์ˆœ์‹   ์œ ๊ด€์ˆœ"
length(sent) #1

 

 

 

 

 

์—ฐ์Šต๋ฌธ์ œ

01. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒกํ„ฐ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์‹œ์˜ค.

 

1) Vec1 ๋ฒกํ„ฐ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ , 1~5๊นŒ์ง€ ์—ฐ์†๋œ ์ •์ˆ˜๋ฅผ ๋งŒ๋“œ์‹œ์˜ค. - c()ํ•จ์ˆ˜ ์ด์šฉ

vec1 = c(1:5)
vec1


2) Vec2 ๋ฒกํ„ฐ ๋ณ€์ˆ˜์— 1~10๊นŒ์ง€ 3๊ฐ„๊ฒฉ์œผ๋กœ ์—ฐ์†๋œ ์ •์ˆ˜๋ฅผ ๋งŒ๋“œ์‹œ์˜ค. - seq()ํ•จ์ˆ˜ ์ด์šฉ 

vec2 = seq(from=1, to=10, by=3)
vec2


3) Vec3 ๋ฒกํ„ฐ ๋ณ€์ˆ˜์— "R" ๋ฌธ์ž๊ฐ€ 5ํšŒ ๋ฐ˜๋ณต๋˜๋„๋ก ํ•˜์‹œ์˜ค. - rep()ํ•จ์ˆ˜ ์ด์šฉ 

vec3 = rep('R', 5)
vec3


4) Vec4์—๋Š” Vec1~Vec2๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋˜๋Š” ๋ฒกํ„ฐ๋ฅผ ๋งŒ๋“œ์‹œ์˜ค. - c()ํ•จ์ˆ˜ ์ด์šฉ

vec4 = c(vec1, vec2)
vec4


5) 25~ -15๊นŒ์ง€ 5๊ฐ„๊ฒฉ์œผ๋กœ ๋ฒกํ„ฐ ์ƒ์„ฑ - seq()ํ•จ์ˆ˜ ์ด์šฉ 

seq(25, -15, -5)


6) Vec4์—์„œ ํ™€์ˆ˜๋ฒˆ์งธ ๊ฐ’๋“ค๋งŒ ์„ ํƒํ•˜์—ฌ Vec5์— ํ• ๋‹นํ•˜์‹œ์˜ค. - ์ƒ‰์ธ ์ด์šฉ

vec5 = vec4[seq(1, length(vec4), 2)] #1๋ถ€ํ„ฐ vec4๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ „์ฒด ๊ธธ์ด๋งŒํผ 2์”ฉ ์ฆ๊ฐ€
vec5





02. ๋‹ค์Œ ๋‘ ๊ฐœ์˜ ๋ฒกํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹จ๊ณ„๋ณ„๋กœ ์ฒ˜๋ฆฌํ•˜์‹œ์˜ค. 

v1 <- c(2,3,10,-5,8)
v2 <- c(40,50,-30,7,10)
v1
v2


๋‹จ๊ณ„1> ํ–‰ ๋‹จ์œ„๋กœ ๋ฌถ์–ด์„œ matrix ์ƒ์„ฑํ•˜๊ธฐ  

v3 = rbind(v1,v2)
v3

๋‹จ๊ณ„2> matrix ์ฐจ์› ๋ณด๊ธฐ 

str(v3)

๋‹จ๊ณ„3> matrix ์—ด ๋‹จ์œ„ ํ•ฉ๊ณ„ ๊ณ„์‚ฐํ•˜๊ธฐ 

apply(v3,1,sum)

 





03. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒกํ„ฐ๋ฅผ ์นผ๋Ÿผ์œผ๋กœ ๊ฐ–๋Š” DataFrame์„ ์ƒ์„ฑํ•˜์‹œ์˜ค.

name <-c("์ตœ๋ฏผ์ˆ˜","์œ ๊ด€์ˆœ", "์ด์ˆœ์‹ ","๊น€์œ ์‹ ","ํ™๊ธธ๋™")
age <-c(55,45,45,53,15) #์—ฐ๋ น
gender <-c(1,2,1,1,1) #1:๋‚จ์ž, 2: ์—ฌ์ž
job <-c("์—ฐ์˜ˆ์ธ","์ฃผ๋ถ€","๊ตฐ์ธ","์ง์žฅ์ธ","ํ•™์ƒ")
sat <-c(3,4,2,5,5) # ๋งŒ์กฑ๋„
grade <- c("C","C","A","D","A")
total <-c(44.4,28.5,43.5,NA,27.1) #์ด๊ตฌ๋งค๊ธˆ์•ก(NA:๊ฒฐ์ธก์น˜)


<์กฐ๊ฑด1> ์œ„ 7๊ฐœ ๋ฒกํ„ฐ๋ฅผ user์ด๋ฆ„์œผ๋กœ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„ ์ƒ์„ฑ

user = data.frame(name, age, gender, job, sat, grade, total)
ha

<์กฐ๊ฑด2> ์ด๊ตฌ๋งค๊ธˆ์•ก(total) ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ํžˆ์Šคํ† ๊ทธ๋žจ ๊ทธ๋ฆฌ๊ธฐ-hist()

total = user$total1
hist(total)

<์กฐ๊ฑด3> ๋งŒ์กฑ๋„(sat) ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฐ์ ๋„ ๊ทธ๋ฆฌ๊ธฐ-plot()

sat = usersat
plot(sat)






04. Data๋ฅผ ๋Œ€์ƒ์œผ๋กœ apply()๋ฅผ ์ ์šฉํ•˜์—ฌ ํ–‰/์—ด ๋ฐฉํ–ฅ์œผ๋กœ ์กฐ๊ฑด์— ๋งž๊ฒŒ ํ†ต๊ณ„๋Ÿ‰์„ ๊ตฌํ•˜์‹œ์˜ค.

kor <- c(90,85,90)
eng <- c(70,85,75)
mat <- c(86,92,88)

  
์กฐ๊ฑด1) 3๊ฐœ์˜ ๊ณผ๋ชฉ์ ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„(Data)์„ ์ƒ์„ฑํ•œ๋‹ค. 

la = data.frame(kor, eng, mat)
la

์กฐ๊ฑด2) ํ–‰/์—ด ๋ฐฉํ–ฅ์œผ๋กœ max()ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜์—ฌ ์ตœ๋Œ“๊ฐ’ ๊ตฌํ•˜๊ธฐ

round(apply(Data, 1, mean), 2)

์กฐ๊ฑด3) ํ–‰/์—ด ๋ฐฉํ–ฅ์œผ๋กœ mean()ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜์—ฌ ํ‰๊ท  ๊ตฌํ•˜๊ธฐ(์†Œ์ˆซ์  2์ž๋ฆฌ ๊นŒ์ง€ ํ‘œํ˜„)
ํžŒํŠธ : round(data, ์ž๋ฆฟ์ˆ˜)

round (la, 2, mean)

์กฐ๊ฑด4) ํ–‰ ๋‹จ์œ„ ๋ถ„์‚ฐ๊ณผ ํ‘œ์ค€ํŽธ์ฐจ ๊ตฌํ•˜๊ธฐ  
ํžŒํŠธ : var(), sd()

var(la)
sd(la)






05. ๋‹ค์Œ์˜ Data2 ๊ฐ์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ •๊ทœํ‘œํ˜„์‹์„ ์ ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ์ฒ˜๋ฆฌํ•˜์‹œ์˜ค

Data2 <- c("2017-02-05 ์ˆ˜์ž…3000์›","2017-02-06 ์ˆ˜์ž…4500์›","2017-02-07 ์ˆ˜์ž…2500์›")
library(stringr)

 

์กฐ๊ฑด1) ์ผ์งœ๋ณ„ ์ˆ˜์ž…์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅํ•˜์‹œ์˜ค. 
์ถœ๋ ฅ ๊ฒฐ๊ณผ) "3000์›" "4500์›" "2500์›" 

str_extract_all(Data2, '[0-9]{4}[๊ฐ€-ํžฃ]$') #๋ฉ”ํƒ€๋ฌธ์ž : [],{}

์กฐ๊ฑด2) ์œ„ ๋ฒกํ„ฐ์—์„œ ์—ฐ์†ํ•˜์—ฌ 2๊ฐœ ์ด์ƒ ๋‚˜์˜ค๋Š” ๋ชจ๋“  ์ˆซ์ž๋ฅผ ์ œ๊ฑฐํ•˜์‹œ์˜ค.  
์ถœ๋ ฅ ๊ฒฐ๊ณผ)9 "-- ์ˆ˜์ž…์›" "-- ์ˆ˜์ž…์›" "-- ์ˆ˜์ž…์›"  

str_replace_all(Data2, '[0-9]{2}','')

์กฐ๊ฑด3) ์œ„ ๋ฒกํ„ฐ์—์„œ -๋ฅผ /๋กœ ์น˜ํ™˜ํ•˜์‹œ์˜ค.
์ถœ๋ ฅ ๊ฒฐ๊ณผ) "2017/02/05 ์ˆ˜์ž…3000์›" "2017/02/06 ์ˆ˜์ž…4500์›" "2017/02/07 ์ˆ˜์ž…2500์›"  

str_replace_all(Data2, '-','/')

์กฐ๊ฑด4) ๋ชจ๋“  ์›์†Œ๋ฅผ ์‰ผํ‘œ(,)์— ์˜ํ•ด์„œ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ํ•ฉ์น˜์‹œ์˜ค. 
ํžŒํŠธ) str_c(๋ฐ์ดํ„ฐ์…‹, collapse="๊ตฌ๋ถ„์ž")ํ•จ์ˆ˜ ์ด์šฉ
์ถœ๋ ฅ ๊ฒฐ๊ณผ) "2017-02-05 ์ˆ˜์ž…3000์›,2017-02-06 ์ˆ˜์ž…4500์›,2017-02-07 ์ˆ˜์ž…2500์›"

str_c(Data2, collapse = ',')



+ Recent posts