R edu
- R ๋ค์ด๋ก๋ ๋ฐ ์ค์น
- blog.naver.com/dataedu03 ๋ค์ด๋ก๋ ๋ฐ D:/ ์ ์์ถํ๊ธฐ
##########################################R ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด #################################################### ############# 1. R ๊ธฐ์ด
R ๋๋ฌ๋ณด๊ธฐ
์์ ๊ณต๊ฐ ํ ๋นํ๊ธฐ
getwd() setwd(โd:/r_classโ)
์ปค๋งจ๋ ์ ๋ ฅํ๊ธฐ
1+1
๋ถ์์ ํ ์ปค๋งจ๋ ์ ๋ ฅ
max(4,6,8), max(4,6, )
์ฌ๋ฌ์ค์ ํ๊บผ๋ฒ์ ์คํ
a<-1+1; b<-a/2
์คํฌ๋ฆฝํธ ํ์ฉํ๊ธฐ
rnorm(20) a<-rnorm(20)
๋์๋ง ๊ธฐ๋ฅ ํ์ฉํ๊ธฐ
help.start()
help(max)
?max
RSiteSearch(โmaxโ)
๋ช ๋ น์ด ํ์คํ ๋ฆฌ ํ์ฉํ๊ธฐ
#์๋ฅผ ๋ค์ด์ ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ค์ ์คํ์์ผฐ๋ค๋ฉด ls() a<-rnorm(20) b<-hist(a)
# ์์ ๋ช
๋ น์ด๋ค์ ๋ค์ ๋ถ๋ฌ๋ค์ธ๋ค
# ๋ช
๋ น์ด ํ์คํ ๋ฆฌ๋ฅผ ์ ์ฅ(working Directory์ ์ ์ฅ๋จ)
# ๋ช
๋ น์ด ํ์คํ ๋ฆฌ ๋ถ๋ฌ์ค๊ธฐ
ํจํค์ง ํ์ฉํ๊ธฐ
#ํ์ฌ ํ์ฑํ๋ ํจํค์ง๋ค์ด ๋ฌด์์ธ์ง ํ์ธ
#ํ๋๋์คํฌ์ MASS ํจํค์ง๋ฅผ ์คํํ์ง ์์๊ธฐ ๋๋ฌธ์ ํ์ผ์ด ์๋๊ฒ์ผ๋ก ๋์ด
#MASS ํจํค์ง๋ฅผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ค์น
#๋ฐ์ดํฐ ํ์ธ ๊ฐ๋ฅ
#ํ๋๋์คํฌ์ ์กด์ฌํ์ง ์๋ boot ํจํค์ง ๋ค์ด๋ก๋ ๋ฐ ์ค์น
#๋ค์ด๋ก๋ ๋ boot ํจํค์ง์ help ๋คํ๋จผํธ๋ฅผ ๋ณด์ฌ์ค
#์น์ ํตํด boot ํจํค์ง์ ๋คํ๋จผํธ๋ฅผ ๋ณด์ฌ์ค
#์น์ ํตํด boot ํจํค์ง์ ๋คํ๋จผํธ๋ฅผ ๋ณด์ฌ์ค
R ํ๋ก๊ทธ๋จ ํ์ผ ์คํ
source(โa.Rโ)
######### 2. ์ ๋ ฅ๊ณผ ์ถ๋ ฅ############### ######### ์ถ๋ ฅํ๊ธฐ ############### #######################################
pi sqrt(2)
print(pi) print(sqrt(2))
# 3 x 2
# 2 x 3
#printํจ์๋ ์ค๋ก์ง ํ๋์ ๊ฐ์ฒด๋ง ํ๋ฆฐํธ
print(โTHe zoro occur atโ, 2*pi, โradians.โ) #error ๋ฐ์
#catํจ์๋ print์ ๋์์ผ๋ก ์ฌ๋ฌ๊ฐ์ ํญ๋ชฉ์ ๋ฌถ์ด์ ์ฐ๊ฒฐ๋ ๊ฒฐ๊ณผ๋ก ์ถ๋ ฅํด์ค
#catํจ์๋ ๊ฐ๋จํ ๋ฒกํฐ๋ ์ถ๋ ฅ ๊ฐ๋ฅ
f<-c(0,1,1,2,3,5,8,13)
#catํจ์์ ํ๊ณ๋ ํ๋ ฌ์ด๋ ๋ฆฌ์คํธ ๊ฐ์ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ถ๋ ฅํ ์ ์์
cat(list(โaโ,โbโ,โcโ))
####### ๋ณ์ ์ค์ ํ๊ธฐ ############## ######################################
๋์ ์ฐ์ฐ์ (<-)
x<-3
y<-2
z<-sqrt(x^2+2*y)
z
#R์ ๋์ ํ์ ์ธ์ด์ด๋ค.
x<-c(โaโ, โbโ, โcโ, โdโ)
x
#๋ณ์ ๋ชฉ๋ก ๋ณด๊ธฐ
#๋ณ์ ๋ชฉ๋ก ๋ฟ์๋๋ผ ๊ตฌ์กฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ํจ์
ls.str()
# ๋ณ์ ์ญ์ , ํ๋ฒ ๋ณ์๋ฅผ ์ญ์ ํ๋ฉด ์์ํ ์ญ์ ๋จ
# ํ๊บผ๋ฒ์ ๋ณ์ ์ญ์ ๊ฐ๋ฅ ls()
warning ๋ณ์ ๋ชฉ๋ก์ ๋ฆฌ์คํธ ์ธ์์ ์ง์ ํ ๋ค์ ์ญ์ ํ๊ฒ ๋จ์ ๋ฐ๋ผ ๊ธฐ์กด์ ์๋ ๋ชจ๋ ๋ณ์๋ฅผ ์ญ์ ํ๊ฒ ๋จ ์กฐ์ฌํด์ผ ํจ.
ls()
####### ๋ฒกํฐ ์์ฑํ๊ธฐ ############## ######################################
#R ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ์ ์ ํํ
d<- e<- f<-
#๋ฒกํฐ์ ์ธ์ ์์ฒด๊ฐ ๋ฒกํฐ์ธ ๊ฒฝ์ฐ ๋ฒกํฐ๋ฅผ ํ์ด์ ํ๋๋ก ํฉ์น๋ค.
g<- g
#๋ฒกํฐ์ ์ธ์ ์ค ํ๋๋ผ๋ ๋ฌธ์๊ฐ ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ ๋ชจ๋ ์์๋ค์ ๋ฌธ์ํ์ผ๋ก ์ ์ ๋๋ค.
h<- h
####### ๊ธฐ๋ณธ์ ์ธ ํต๊ณ๋ ๊ณ์ฐํ๊ธฐ ########### #######################################
a<-c(0,1,1,2,3,5,8,13) b<-log(a+1) c<-c(0,1,1,2,3,5,8,13,NA)
#ํ๊ท
#์ค์๊ฐ
#ํ์คํธ์ฐจ
#๋ถ์ฐ
#์๊ด๊ณ์
#๊ณต๋ถ์ฐ
#ํ๊ท , ์ค๊ฐ๊ฐ, ํ์คํธ์ฐจ๋ ๋ฐ์ดํฐ ํ๋ ์์์ ๊ฐ ๋ณ์๋ค์ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ์ฐ์ถ #๋ถ์ฐ์ ๊ณต๋ถ์ฐ ํ๋ ฌ์ ์ ๊ณต, ์๊ด๊ณ์๋ ์๊ด๊ณ์ ํ๋ ฌ์ ์ ๊ณต
๋จํ๋์ NA ๊ฐ์ด ํฌํจ๋์ด๋ ๊ฒฐ๊ณผ๋ NA๋ก ๋์ค๋ฏ๋ก ์๋์ ๊ฐ์ด ํ์ฉ
mean(c) sd(c)
hei<-c(187,178,176,169,181,172)
wei<-c(82,72,70,65,74,68)
####### ์์ด ์์ฑํ๊ธฐ ############## ##################################
1:10
by์ ๋ํดํธ๋ 1
# 0~9
# 5~10
# 9~0
์์ด์ ๊ธธ์ด๋ฅผ ์ง์ ํ๊ณ ์ ํ ๋, length.out ์ฌ์ฉ
############ ๋ฒกํฐ์ ๋น๊ต ############## ####################################
#๋ฒกํฐ์ ๊ฐ๋ค ์ค ํ๋๋ผ๋ ๊ฐ์๊ฐ?
#๋ฒกํฐ์ ๊ฐ๋ค์ด ๋ชจ๋ ๊ฐ์๊ฐ? all(z==0) ๋ชจ๋ ๊ฐ๋ค์ด 0์ธ๊ฐ?๋ ๋ง์ด ํ์ฉ๋๋ค.
############ ๋ฒกํฐ์ ์๋ ์์ ์ ํํ๊ธฐ ######## ###########################################
a<-c(0,1,1,2,3,5,8,13) a
์ธ๋ฑ์ค๊ฐ ์์์ธ ๊ฒฝ์ฐ๋ 1๋ฒ์งธ ๊ฐ์ ์ ์ธํ๋ผ๋ ์๋ฏธ
์ค์๊ฐ๋ณด๋ค ํฐ ๋ชจ๋ ์์๋ฅผ ์ ํ
์ํ์ 5% ์์ ์๋ ๋ชจ๋ ์์๋ฅผ ์ ํ
ํ๊ท ์์ + - ํ์คํธ์ฐจ๋ฅผ ๋๋ ๋ชจ๋ ์์ ์ ํ
NA๋ NULL์ด ์๋ ๋ชจ๋ ์์๋ฅผ ์ ํ
############ ๋ฒกํฐ ์ฐ์ฐ ์ํํ๊ธฐ ######## ###########################################
v1<-c(10,11,12,13,14) v2<-c(1,2,3,4,5)
############ ์ฐ์ฐ์ ์ฐ์ ์์ ######## ###########################################
#PPT ์ฐธ์กฐ
############ R ํจ์ ์ ์ ######## ########################################### #
function(๋งค๊ฐ๋ณ์1, ๋งค๊ฐ๋ณ์2, ๋งค๊ฐ๋ณ์3,โฆ.) expr
#
function(๋งค๊ฐ๋ณ์1, ๋งค๊ฐ๋ณ์2, ๋งค๊ฐ๋ณ์3,โฆ.) {
expr1
expr2
expr3
โฆ..
}
# ##############################################?
f1<- #์ ๊ท๋ถํฌ๋ฅผ ํ์ค์ ๊ท๋ถํฌ๋ก ํ์คํ f1(1:10)
skew.and.kurto <-function(x) #์๋์ ์ฒจ๋๋ฅผ ๊ตฌํ๋ ํจ์ {
}
t5<- 1:1000 #1000 random obs from t with df 5 skew.and.kurto(t5)
######### ๋ฐ์ดํฐ ์ ๋ ฅํ๊ธฐ ############ ####################################
#ํค๋ณด๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ ๋ conbine ํจ์๋ฅผ ์ฌ์ฉ
#๋น ๋ฐ์ดํฐ ํ๋ ์์ ๋ง๋ ๋ค ๋ด์ฅ๋ ํธ์ง๊ธฐ๋ฅผ ๋ถ๋ฌ์ ๋ฐ์ดํฐ ์ ๋ ฅ
temp<-data.frame()
b
#๋ฉ๋ด->edit->data editor -> object๋ช ์ ๋ ฅ
๊ฐ๋จํ ๋ฌธ์ ๋ฅผ ๋ค๋ฃฐ ๋๋ ๋ฐ์ดํฐ ํ์ผ์ ์์ฑํ๊ณ ์ฝ์ด์ค๋ ๊ฒ์ด ๊ท์ฐฎ์ต๋๋ค.
์ด๋ด๋๋ R์ ๋ฐ์ดํฐ๋ฅผ ๊ณง๋ฐ๋ก ์ ๋ ฅํ๋ ๊ฒ ํธ๋ฆฌํํฉ๋๋ค.
์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ํด ๋ฐ์ดํฐ ํ๋ ์์ ์ ์ํ๊ณ cํจ์๋ก ๋ฒกํฐ ์์ฑํด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํด ๋ด ์๋ค.
c<-
c
######### ๋ฐ์ดํฐ ์๋ฆฌ์ ์กฐ์ ############ ####################################
R์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ๋์์์ ์ ํฌํจํด 7์๋ฆฌ๋ฅผ ํ์
pi
์๋ฆฌ์๋ฅผ 4์๋ฆฌ๋ก ํํ
cat(โpi ๊ฐ์ โ, pi,โ์ ๋๋ค.โ, โ\nโ)
cat ํจ์๋ ํ์ ์กฐ์ ๋ถ๊ฐ->format ํจ์ ํ์ฉ
์ต์ ํจ์๋ฅผ ํ์ฉํด์ digit์ ๊ธฐ๋ณธ๊ฐ์ ๋ฐ๊พธ๊ธฐ
pi
######### ํ์ผ์ ์ถ๋ ฅํ๊ธฐ ############ ####################################
a<-sqrt(10)
sink(โfileout2.txtโ)
#- ๊ฒฐ๊ณผ๋ฅผ txt ํ์ผ๊ณผ pdf๋ก ์ถ๋ ฅํจ
######### ํ์ผ ๋ชฉ๋ก๋ณด๊ธฐ ############ ####################################
#์ํน ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ํ์ธํ ์ ์์.
#ํ์ ๋๋ ํ ๋ฆฌ์ ์จ๊ฒจ๋์ ํ์ผ(๋ง์นจํ๋ก ์์ํ๋ ํ์ผ)๊น์ง ๋ชจ๋ ๋ณผ์ ์์
######### ์๋์ฐ์์ โcannot open file ํด๊ฒฐํ๊ธฐ ############ ##########################################################
d:\dataedu\R\basic\exam1.txt ์๋์ฐ์์ ํ์ผ์ด ์์์ ์๊ณ ์๋ค.
#ํ์ง๋ง
์ญ์ฌ๋ ์ฌ()๊ฐ ์ด๋ฆ์ ํฌํจ๋์ด ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์
์ญ์ฌ๋ ์ฌ ๋ค์ ์ค๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ด์ค์ผ์ดํ ์ฒ๋ฆฌํ๋ค d:dataeduRbasicexam1.txt ๋ก ์ธ์
์๋์ฐ์์ R์ ์ฌ๋ฌ์ฌ(/)๋ฅผ ์ญ์ฌ๋ ์ฌ์ ๋๊ฐ์ด ์ทจ๊ธํ๋ฏ๋ก ๋ฌธ์ ํด๊ฒฐ
#R์์๋ ์ญ์ฌ๋ ์ฌ (\)๋ฅผ ์ญ์ฌ๋ ์ฌ ()๋ก ์ธ์ํ์ฌ ์ทจ๊ธํ๋ฏ๋ก ๋ฌธ์ ํด๊ฒฐ
############๊ณ ์ ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ#################### ###############################################
f2<-read.fwf(โexam2.txtโ, widths=c(w1,w2,w3,w4)) ๊ณ ์ ์๋ฆฌ ๋ฐ์ดํฐ ์ฝ๊ธฐ
#1์งธ๋ ๊ณผ์ ์ ์ถ์ฌ๋ถ, 2์งธ๋ ์ ์ ์ฌ์ด์๋ 2์นธ์ ๋น์นธ
# col๋ช
์ง์
f2
###########๋น๊ณ ์ ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ#############################
(ํญ ๋๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ )ํ ์คํธ ํ์ผ๋ก ๋ ํ ์ด๋ธํ์์ ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ
๊ฐ ์ค์ด ํ๋์ ๋ ์ฝ๋
f3<-
f3
ํ๋์ ๋ ์ฝ๋ ๋ด์์, ๊ณต๋ฐฑ, ํญ, ์ฝํ ๋ฑ ํ๊ธ์ ์ง๋ฆฌ ๊ตฌ๋ถ๋ฌธ์
f3<-read.table(โkings.txtโ, sep= :, )
๊ฐ ๋ ์ฝ๋ใ ก ๋์ผํ ์์ ํ๋๋ฅผ ๊ฐ์ง
class(f3$V1)
๋ฌธ์์ด ๋ ์ฝ๋๊ฐ์ factor๋ก ์ธ์ํ์ง ์๊ณ ๋ฌธ์์ด๋ก ์ธ์ํ๊ฒ ํจ
f3<- f3 class(f3$V1)
f3<- # SAS์ ๊ฒฐ์ธก๊ฐ(.) ํํ์ ๋ฐ์ดํฐ๋ฅผ NA ํํ๋ก ๊ฒฐ์ธก๊ฐ์ ๋ณ๊ฒฝ f3
csv ํ์ผ์ R, ์์ , ๋ค๋ฅธ ์คํ๋ ๋์ํธ ํ๋ก๊ทธ๋จ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ค์ด ์์ฃผ ์ฌ์ฉํ๋ ํ์
f4<- f4 class(f4$ename)
#ํ์๊ธฐ๋ฅผ ํตํ ๋ฐ์ดํฐ ํ์ผ ๋ถ๋ฌ์ค๊ธฐ
file.choose<- head(file.choose)
########### csv ํ์ผ ์ถ๋ ฅํ๊ธฐ ############################ ######################################################
############ HTML ํ ์ด๋ธ ์ฝ์ด์ค๊ธฐ ############################
####์ธ๊ณ 500๋ ๊ธฐ์ ๋ฆฌ์คํธ# install.packages(c(โXMLโ,โhttrโ,โRCurlโ)) library(XML) library(httr) library(RCurl)
############ ๋ณต์กํ ๊ตฌ์กฐ ํ์ผ ์ฝ์ด์ค๊ธฐ ############################
๊ตฌ์กฐ๊ฐ ๋ณต์กํ์ฌ 10์ค๋ง ์ฝ๊ณ ๋ฉ์ถค
l1<-readlines(โexam1.txtโ,n=10)
๋ณ์๋ฅผ ์ซ์ํ์ผ๋ก ์ธ์ํ๊ณ ์ฝ์ด๋ค์
l2
#scan()์ ํ์ฉ๋๋ ์ธ์ #what=numeric(0) ๋ค์ ํ ํฐ์ ์ซ์๋ก ํด์ #what=integer(0) ๋ค์ ํ ํฐ์ ์ ์๋ก ํด์ #what=complex(0) ๋ค์ ํ ํฐ์ ๋ณต์์๋ก ํด์ #what=character(0) ๋ค์ ํ ํฐ์ ๋ฌธ์์ด๋ก ํด์ #what=logical(0) ๋ค์ ํ ํฐ์ ๋ ผ๋ฆฌ๊ฐ์ผ๋ก ํด์
#n=number ์ด๋งํผ์ ํ ํฐ์ ์ฝ์ ๋ค์์ ๋ฉ์ถค #nlines=number ์ด๋งํผ์ ์ ๋ ฅ ๋ผ์ธ์ ์ฝ์ ๋ค์ ๋ฉ์ถค #skip=number ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ ์ ์ ๊ฑด๋ ๋ฐ๋ ์ ๋ ฅ ๋ผ์ธ์ ๊ฐ์ #na.strings=list NA๋ก ํด์๋ ๋ฌธ์์ด ๋ฆฌ์คํธ
์์ 1. ๊ฒฝ์ฃผ์์ธ๋ฒ์คํฐ๋ฏธ๋ ๊ฐ๊ฒฉํ
๋ฌธ์์ ์ซ์๊ฐ ์กฐํฉ๋ ํํ์ ๋ฐ์ดํฐ ์ฝ๊ธฐ
l3<-scan(โgyeongju_ternimal.csvโ,what=list(des=character(0), fare=numeric(0)),skip=1,sep=โ,โ)
gyeongju<-as.data.frame(l3) gyeongju
?l3<-scan(โgyeongju_ternimal.csvโ,what=list(des=character(0), fare=numeric(0)),skip=1,sep=โ,โ)
########### ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๊ณ ์ ์กํ๊ธฐ ###################### ######################################################
save(gyeongju,file=โmyData.RDataโ) #saveํจ์๋ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์์ฑ, ASCII ํ์์ dput, dump๋ฅผ ์ฌ์ฉ
load(โmyData.RDataโ)
#๋ณ์ ์๋ค์ ๋ฐ์ํ์ ์ฃผ์
dput(โmyDataโ, file=โmyData.txtโ) dump(โmyDataโ, file=โmyData.txtโ)
#saveํจ์๋ ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์๊ฒ ์ ์งํ๊ธฐ ์ํด ๋ฐ์ด๋๋ฆฌ ํ์์ผ๋ก ์ ์ฅํ๋ค. ASCII ํ์์ dput, dump๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
#๋ฉ์ผ๋ง ๋ฆฌ์คํธ์ ์ง์๋ฅผ ๋ณด๋ผ๋ ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ฌธ์ ๋ฅผ ์ฌํํ๊ธฐ ์ํด์ ASCII ํ์์ ๋ฐ์ดํฐ์ ๋คํ๋ฅผ ์ฒจ๋ถ ํ ์ ์๋ค.
#ํ๋ก๊ทธ๋จ์์ ๋ฐ์ดํฐ๊ฐ ํน์ ํจํค์ง์ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๋ค๋ฉด ํจํค์ง๋ฅผ ๋ก๋ฉํด ๋์ด์ผ ํ์ฉํ ์์๋ค.
9/29 10:00
############# 3. ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ํ๋ ์(1) ######### ๋ฐ์ดํฐ ๊ตฌ์กฐ ############ ####################################
#๋ถ๋ฌ๋ค์ธ csv ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐํ๋ ์์ ์ ์ฉ
a<-read.csv(โframe.csvโ, header=T)
str(a)
a
b<-as.data.frame(a)
b
c<-as.vector(b[โphoneโ])
c
#1๋ฒ์งธ ๋ฆฌ์คํธ๋ฅผ ํ๋ฆฐํธ
b[1]
#1๋ฒ์งธ ๋ฆฌ์คํธ๋ด์ ๊ฐ๋ค์ ํ๋ฆฐํธ
b[[1]]
ํญ๋ชฉ๊ณผ ๊ทธ ๊ฐ๋ค์ ํ๋ฆฐํธ
b[1] b[โempnoโ]
ํญ๋ชฉ๋ช ์ ํตํด์ ๊ฐ๋ค์ ํ๋ฆฐํธ
b[โempnoโ] b$empno
#1ํ, 2์ด์ ํด๋นํ๋ ์์
b[1,2]
#2ํ์ ํด๋นํ๋ ๋ชจ๋ ์์
b[2,]
#2์ด์ ํด๋นํ๋ ๋ชจ๋ ์์
b[,2]
๋จ์ผ๊ฐ
#๋จ์ผ๊ฐ์ ์์๊ฐ ํ๋์ธ ๋ฒกํฐ๋ก ์๋ฏธ
pi
length(pi) length(b$empno) pi[1] pi[2]
####### ํ๋ ฌ ######### #์ฐจ์์ ๊ฐ์ง๊ณ ์๋ ๋ฒกํฐ๋ก ์ธ์ํ๋ฉด ๋จ
a<-1:9 a dim(a)<-c(3,3) a
c == combine
####### ๋ฐฐ์ด #########
b<-1:12
dim(b)<-c(2,3,2) b
####### ๋ฒกํฐ์ ๋ฐ์ดํฐ ์ถ๊ฐ์ ์ฝ์ ##########
#๋ฒกํฐ์ ๋จ์ผ๊ฐ ์ฝ์
v1 <- c(1,2,3) v1 <- c(v1, 4, 5) v1 v2 <- c(6,7,8,9,10)
v2 #๋ฒกํฐ์ ๋ค๋ฅธ ๋ฒกํฐ๋ฅผ ์ฝ์
v1 <- c(v1,v2)
v1
#๋ฒกํฐ์ ํน์ ์์น์ ๋จ์ผ๊ฐ ์ฝ์
v1[12]<-12 v1
#๋ฒกํฐ์ ํน์ ์์น์ ๋จ์ผ๊ฐ ์ฝ์
v1 v3 <- append(v1,100,after=5) v3
#๋ฒกํฐ์ ํน์ ์์น์ ๋ฐ์ดํฐ ์ฝ์
v4 <- append(v1,v2,after=0)
v4
append(v1,v2,after=1)
#col ๊ฐ์ ๋ฒกํฐ๋ก ์ฐ๊ฒฐ
c1<- cbind(1:6) c1
๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํ ๋ ์ฌ์ฉํ๋ ํจ์
#
cbind : ์ด ๊ฒฐํฉ, # column
rbind : ํ ๊ฒฐํฉ. # row
c1
c2<-cbind(1:3)
c2
cbind(1:6, 1:3)
recycling rule
#๋๊ฐ์ ๋ฒกํฐ๋ฅผ col์ผ๋ก ์ฐ๊ฒฐ
cbind(1:6, 1:3)
#๋๊ฐ์ object๋ฅผ ์ฐ๊ฒฐํ ๋๋ ๊ธธ์ด๊ฐ ๊ฐ์์ผ ํจ cbind(c1, c2) c3 <- cbind(1:6, 1:3) cbind(c3,c1)
2019-09-29 10:54
recycling rule
a<- c(1,2,3,4,5,6,10) b<- c(7,8,9) a+b
ํจ์์๋ ์ฌํ์ฉ ๊ท์น์ ์ ์ฉ๋๋ค.
########## ์์ธ ์์ฑ ######### ############################### # #์ฐ์ํ ๋ณ์๋ฅผ ๋ฒ์ฃผํ๋ณ์๋ก ๋ณ๊ฒฝ
f<- factor(c2) f #๋ฒ์ฃผํ๋ณ์์ ๋ฐ์ดํฐ ์ฝ์
f<- factor(c(โAโ,โAโ,โAโ,โBโ,โBโ,โCโ,โAโ,โAโ,โCโ,โBโ,โAโ,โAโ)) f
#๋ฒ์ฃผํ๋ณ์์ ๋ ๋ฒจ์ ์ ์
f<-factor(f,c(โAโ,โCโ,โDโ,โEโ,โFโ)) f
############## ๋ฆฌ์คํธ ์์ฑํ๊ธฐ ######################
๋ฆฌ์คํธ๋ ๊ฐ ์์์ ๋ชจ๋๊ฐ ๋ฌ๋ผ๋ ๋๋ ํน์ง์ด ์์
l<- list(3.14, โTomโ, c(1,2,3,4), mean) l
l[[3]][3]
๋น ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๊ณ ์์๋ฅผ ์ฑ์ ๋ฃ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฆฌ์คํธ ์์ฑ
l1<-list()
l1[[1]] <- 2.714 l1[[2]] <- โTYโ l1[[3]] <- c(5,6,7) l1[[4]] <- mean
l1[3] l1[[3]] l1[c(2,3)]
๋ฆฌ์คํธ์ ์์์ ์ด๋ฆ์ ๋ถ์ผ ์ ์์
l2<- list(mid=1.1, far=1.5, more.far=2.0) l3<- list(msadasdid=1.1, fasdsadar=1.5, mosadsadsadre.fsadsadsadar=2.0)
l2 l3
์๋ฆฌ์๋ก ๋ฆฌ์คํธ์ ์์๋ฅผ ์ ํํ๊ธฐ
l2[[1]] l2[1] l2[c(1,2)]
๋ฆฌ์คํธ์ ๊ตฌ์กฐ๋ฅผ ํ์ธํด ๋ณด๊ธฐ->numeric
class(l2[[1]]) mode(l2[[1]])
๋ฆฌ์คํธ์ ๊ตฌ์กฐ ํ์ธํด ๋ณด๊ธฐ ->list
class(l2[1]) mode(l2[1])
class(l2) mode(l2)
์์์ ์ด๋ฆ์ผ๋ก ๋ฆฌ์คํธ์ ์์๋ฅผ ์ ํํ๊ธฐ
2019-09-29 11:16
๋ฆฌ์คํธ์์ ์์๋ฅผ ์ ๊ฑฐํ๊ธฐ
l2
l3<- # ๋ฆฌ์คํธ์ ์์์ NULL ์ด ํฌํจ๋์ด ์์ ๋ ์ญ์ ํ๊ธฐ l3
# ๋ฆฌ์คํธ์ ์์์ ๊ฐ์ด NULL์ธ ์์๋ฅผ ์ญ์ l3
๋ฆฌ์คํธ์์ ์์ ์ ๊ฑฐํ๋ ๋ค์ํ ๋ฐฉ๋ฒ
# ๋ฆฌ์คํธ์ ์์๊ฐ 0์ธ ์์๋ฅผ ์ ๊ฑฐ
# ๋ฆฌ์คํธ์ ์์๊ฐ na์ธ ์์๋ฅผ ์ ๊ฑฐ
# ๋ฆฌ์คํธ์ ์์๊ฐ ์ ๋๊ฐ์ด 1๋ณด๋ค ์์ ์์๋ฅผ ์ ๊ฑฐ # abs ํจ์๋ list๋ฅผ ๋ค๋ฃจ์ง ๋ชปํ๋ฏ๋ก ์๋ฌ ๋ฐ์
########## ํ๋ ฌ์ ์ด๊ธฐ ๋ด์ฉ ์ค์ ๊ณผ ์ฐ์ฐ ######### ##############################################
#๋ฒกํฐ๋ฅผ ์์ฑ
rowm1<-c(1.1,1.2,1.3,1.4,2.4,2.3)
rowm2<-c(3.1,3.4,3.6,4.1,4.3,4.7)
rowm3<-c(1.1,1.2,1.3,3.1,3.4,3.6,4.1,4.3,4.7)
#๋ฒกํฐ์ ๋ฐ์ดํฐ๋ฅผ 2x3 ํ๋ ฌ๋ก ๋ณ๊ฒฝ,,, ๋ํดํธ๋ ์ด์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฅ๋จ m1<- matrix(rowm1,2,3) m1
#๋ฒกํฐ์ ๋ฐ์ดํฐ๋ฅผ 3x2 ํ๋ ฌ๋ก ๋ณ๊ฒฝ,,, ๋ํดํธ๋ ์ด์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฅ๋จ
m2<- matrix(rowm2, 3,2) m2
#๋ฒกํฐ์ ๋ฐ์ดํฐ๋ฅผ ํ์ ๊ธฐ์ค์ผ๋ก 2x3 ํ๋ ฌ๋ก ๋ณ๊ฒฝ m3<- matrix(rowm3, 3,3,byrow=T) m3 m3<- matrix(rowm3, 3,3,byrow=F) m3
2x2 ํ๋ ฌ์ 0์ผ๋ก ์ด๊ธฐํํ ํ๋ ฌ ์์ฑ
m4<- matrix(0,2,2) m4
2x2 ํ๋ ฌ์ NA์ผ๋ก ์ด๊ธฐํํ ํ๋ ฌ ์์ฑ
m5<- matrix(NA,2,2) m5
๋ฒกํฐ์ ๊ตฌ์กฐ๋ฅผ ํ๋ ฌ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝํ์ฌ ํ๋ ฌ์ ์์ฑ
dim(rowm3)<-c(3,3) rowm3
r1<-c(1,2,3,4,5,6)
r2<-c(6,5,4,3,2,1)
r3<-c(1,2,3,4)
r1<-matrix(r1, 2,3) r2<-matrix(r2, 3,2) r3<-matrix(r3, 2,2) r1 r2 r3
2019-09-29 11:28
ํ๋ ฌ์ ์ฐ์ฐ
์ ์นํ๋ ฌ์ ๊ตฌํจ
t(r3) #transpose(r3)
์ญํ๋ ฌ์ ๊ตฌํจ
solve(r3)
ํ๋ ฌ์ ๊ณฑ ๊ตฌํจ
r1%*%r2
#2์ฐจ ๋จ์ํ๋ ฌ์ ๊ตฌํจ
diag(5)
######### ํ๋ ฌ์ ์ด๊ณผ ํ์ ์ด๋ฆ ๋ถ์ด๊ธฐ ###############
ํ๋ ฌ์ ํ์ ์ด๋ฆ๋ถ์ด๊ธฐ
rownames(m1)<-c(โclass Aโ, โclass Bโ)
m1
ํ๋ ฌ์ ์ด์ ์ด๋ฆ๋ถ์ด๊ธฐ
colnames(m1)<-c(โmin_dโ,โdisโ,โmax_dโ) m1
######### ํ๋ ฌ์ ์ด๊ณผ ํ ์ ํํ์ฌ ํ์ํ๋ ฌ ์์ฑ ###############
#m1 ํ๋ ฌ์์ 1ํ์ ๋ฝ์ ๋ฒกํฐ vm1 ์์ฑ
vm1<-m1[1,]
#m1 ํ๋ ฌ์์ 2์ด์ ๋ฝ์ ๋ฒกํฐ vm2 ์์ฑ
vm2<-m1[,2]
#m1 ํ๋ ฌ์์ 1ํ์ ๋ฝ์ ํ์ํ๋ ฌ sm1 ์์ฑ
sm1 <- m1[1, , drop=TRUE]
sm1
sm1 <- m1[1, , drop=FALSE]
sm1
#m1 ํ๋ ฌ์์ 2์ด์ ๋ฝ์ ํ์ํ๋ ฌ sm2 ์์ฑ
sm2<-m1[,2, drop=FALSE]
sm2
2019-09-29 11:41
############# 4. ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ํ๋ ์(2) ######### ๋ฐ์ดํฐ ํ๋ ์ ๋ง๋ค๊ธฐ ########
๋ฒกํฐ์ ์์ธ์ด ํผํฉ๋ ๋ฐ์ดํฐ๋ผ๋ฉด data.frame ํจ์๋ฅผ ์ฌ์ฉํด์ ์กฐ๋ฆฝ
dfm<-data.frame(v1,v2,v3,f1,f2)
๋ฐ์ดํฐ๊ฐ ๋ฆฌ์คํธ ๊ตฌ์กฐ๋ผ๋ฉด as.data.frame ์ผ๋ก ์ฌ์ค์ ๊ฐ๋ฅ
dfm<-as.data.frame(list.of.vectors)
#๋ฒกํฐ ์์ฑ level<-c(โlowโ,โmidโ,โhighโ) lbound<-c(0.1,0.5,1.5) ubound<-c(0.5,1.5,2.5)
#๋ฒกํฐ๋ฅผ ๋ฐ์ดํฐํ๋ ์์ผ๋ก ๋ณํ dfm1<-data.frame(level,lbound,ubound) dfm1
#์ธ๋ถ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ ์ด๋ธ์ ํธ์ ํ ๋น
a<-read.csv(โframe.csvโ, header=T)
a
str(a)
a$ename<-as.character(a$ename) a$phone<-as.character(a$phone)
์ธ๋ถ ๋ฐ์ดํฐ๊ฐ ๋ฆฌ์คํธ ๊ตฌ์กฐ์์ ๋ฐ๋ผ ๊ตฌ์กฐ ๋ณ๊ฒฝ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐํ๋ ์์ ์ ์ฉ
k<-as.list(a) k dfm1<- as.data.frame(a) dfm1 str(dfm1)
#์ค๋ธ์ ํธ์ ๋ด์ฉ ์ค ํ์ํ ๋ณ์๋ง ์ ํํด์ data.frame ํ์์ผ๋ก ์ฌ ๊ตฌ์ฑ
dfm2<-data.frame(a$empno, a$ename, a$deptno) dfm2
์ด์ ์ด๋ฆ์ ์ ์ฉํ์ฌ data.frame ํ์์ผ๋ก ์ฌ ๊ตฌ์ฑ
dfm2<- data.frame(empno = a$empno, ename = a$ename, deptno = a$deptno) dfm2
๊ฐ๋ณ ๋ฒกํฐ๋ก ์ ์๋ ๋ฐ์ดํฐ๋ค์ ๋ฆฌ์คํธ๋ก ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ๊ณ ๋ฐ์ดํฐ ํ๋ ์ํ์์ผ๋ก ์ ์ฉ
lst<-list(a1=a$empno, a2=a$ename, a3=a$deptno, a4=a$phone) lst lst1<- lst1
#ํ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ์คํธ๊ตฌ์กฐ๋ก ์ ํ
a5<- list(a1=10011, a2=โ a5
#๊ธฐ์กด์ ๋ฐ์ดํฐ ํ๋ ์์ a5๋ฅผ ์ถ๊ฐ
lst
lst1<-
#์ถ๊ฐํ ํ ์ ๋ณด๋ฅผ ๋ฐ์ดํฐํ๋ ์ ํ์์ผ๋ก ์ ์
newrow<-
#ํ ๊ฒฐํฉ์ ํตํด 2๊ฐ์ ๋ฐ์ดํฐ ํ๋ ์์ ๊ฒฐํฉ
lst1<-
lst1
๋ค๋ฅธ ํํ์ผ๋ก
lst1<-
lst1
๋ฐ์ดํฐ ํ๋ ์ ํ ๋นํ๊ธฐ
#1,000,000๊ฐ์ ํ๊ณผ 3๊ฐ์ ์ด(2๊ฐ๋ ์์นํ, 1๊ฐ๋ ๋ฌธ์ํ)์ผ๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํ ๋น
N<-1000000 dtfm<-data.frame(no=numeric(N), name=character(N), score=numeric(N)) dtfm
head(dtfm)
#๋ฐ์ดํฐํ๋ ์ ๋ด 2๋ฒ์งธ ์์๋ฅผ ์ ํ
#๋ฐ์ดํฐํ๋ ์ ๋ด 2๋ฒ์งธ ์์๋ด ๋ฆฌ์คํธ๋ฅผ ์ ํ
๋ฐ์ดํฐํ๋ ์๋ด 2๋ฒ์งธ ํ์์๋ฅผ ์ ํ
๋ฐ์ดํฐํ๋ ์ ๋ด, ๋ชจ๋ ํ๊ณผ 1,3๋ฒ์งธ ์ด์ ์ ํ
subset(๋ฐ์ดํฐ ํ๋ ์,select=c(์ด์ด๋ฆ, ์ด์ด๋ฆ,โฆ)) ์ผ๋ก ์ฝ๊ฒ ๋ฐ์ดํฐ ์ ํ
subset(๋ฐ์ดํฐ ํ๋ ์,select=c(์ด์ด๋ฆ, ์ด์ด๋ฆ,โฆ),subset=(์ด์ด๋ฆ>์กฐ๊ฑด))
lst<-as.data.frame(k) lst
lst1<-subset(lst,select=-phone) lst1
lst1<-subset(lst,select=c(empno, deptno)) lst1
lst1<-subset(lst,select=c(empno, deptno), subset=(deptno==30)) lst1
lst1<-subset(lst,subset=(deptno==30)) lst1
############## ์ฐ์ต ๋ฌธ์ #############
MASS ๋ผ๋ ํจํค์ง ๋ด Cars93 ๋ฐ์ดํฐ์ ์์
1) city ์์ ๊ฐค๋ฐ๋น 30๋ง์ผ ์ด์ ์ฃผํํ๋ ์ฐ๋น๋ฅผ ๊ฐ์ง๋ ์ฐจ๋ฅผ ์ ํ
2) ๊ณ ์๋๋ก์์ MPG ๊ฐ์ด ์ค์๊ฐ์ด์์ธ ๋ชจ๋ ์ฐจ์ ์ ์กฐ์ฌ์ ๋ชจ๋ธ๋ช
#########################################################
1)
library(MASS) ?Cars93
2)
newCars93<-
newCars93
#์ด์ด๋ฆ์ผ๋ก ์ด์ญ์ newCars93<- newCars93
#๋ฐ์ดํฐ ํ๋ ์์ ์ด์ด๋ฆ ๋ฐ๊พธ๊ธฐ
newCars93
####### data editor ์์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ##########
์ฃผ์)์คํ ์ทจ์ ๊ธฐ๋ฅ์ด ์๋ค.
##################################################
๋ฐ์ดํฐ ์๋ํฐ๋ฅผ ๋ถ๋ฌ๋ค์
temp<-edit(lst1)
์๋ํฐ์์ ๋ณ๊ฒฝํ ๋ด์ฉ์ ๋ค์ ์ ์ฅ
lst1<-temp
์๋ํฐ์์ ๋ณ๊ฒฝํ ๋ด์ฉ์ ๋ฎ์ด์
fix(lst1)
lst1
######### NA ๊ฐ์ด ์๋ ํ์ ์ญ์ ํ๊ธฐ ###########
#๋ฒกํฐ ์์ฑ
x<-c(0.1,-0.5,1.5,1.6,-0.9,NA) y<-c(0.5,-1.5,NA,NA,1.5,2.5)
#๋ฒกํฐ๋ฅผ ๋ฐ์ดํฐํ๋ ์์ผ๋ก ๋ณํ
NA_example<-data.frame(x,y)
NA_example
cumsum(NA_example) # ๋์ ํฉ์ ๊ตฌํ๋ ํจ์
NA ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ํ์ ์ญ์
NA_clean<-na.omit(NA_example) # omit NA์กด์ฌ ํ ์ญ์
NA_clean
cumsum(NA_clean)
๋๊ฐ์ ๋ฐ์ดํฐ ํ๋ ์์ ํฉ์น ๋
x<-c(1.5,1.3,1.5,1.4,1.8,1.8) y<-c(2.7,2.8,3.5,3.2,3.4,3.9) z<-c(5.7,5.8,6.9,5.8,5.1,5.6) b_dfm1<-data.frame(x,y) b_dfm2<-as.data.frame(z) cb_dfm<-cbind(b_dfm1,b_dfm2) cb_dfm
x<-c(1.5,1.3,1.5) y<-c(2.7,2.8,3.5) z<-c(5.7,5.8,6.9) b_dfm3<-data.frame(x,y,z) rb_dfm<-rbind(b_dfm3, b_dfm3) rb_dfm
#recycling rule ์ฃผ์
x<-c(1.5,1.3,1.5,1.4,1.8,1.8) y<-c(2.7,2.8,3.5,3.2,3.4,3.9) z<-c(5.7,5.8,6.9,9.9,1.1) b_dfm1<-data.frame(x,y) b_dfm2<-as.data.frame(z) cb_dfm<-cbind(b_dfm1,b_dfm2) cb_dfm
x<-c(1.5,1.3,1.5) y<-c(2.7,2.8,3.5) z<-c(5.7,5.8,6.9) a<-c(8.9,7.9,5.9) b_dfm3<-data.frame(x,y,z) b_dfm4<-data.frame(x,y,a) rb_dfm<-rbind(b_dfm3, b_dfm4) rb_dfm
######## ๋๊ฐ์ ๋ฐ์ดํ ํ๋ ์์ ๋์ผํ ๋ณ์๋ฅผ ์ค์ฌ์ผ๋ก ํฉ์น๊ธฐ #######
T_name<-c(โT1โ,โT2โ,โT3โ,โT4โ,โT5โ,โT6โ) x<-c(1.5,1.3,1.5,1.4,1.8,1.8) y<-c(2.7,2.8,3.5,3.2,3.4,3.9)
T_na<-c(โT1โ,โT3โ,โT5โ) z<-c(5.7,5.8,6.9)
b_dfm1<-data.frame(T_name, x, y) b_dfm2<-data.frame(T_name=T_na, z) b_dfm1 b_dfm2
mg_dfm<-merge(b_dfm1, b_dfm2, by=โT_nameโ) mg_dfm
mg_dfm<-merge(b_dfm1, b_dfm2, by=โT_nameโ, all=T) mg_dfm ?merge
2019-09-29 12:31
# # #ํ๋ฒ๋ ์ฐ์ตํด ๋ณด์ # #
a<-read.csv(โframe.csvโ, header=T)
b<-read.csv(โframe2.csvโ, header=T)
merg1<-as.data.frame(a)
merg2<-as.data.frame(b)
merg1 merg2
#empno ๋ณ์๋ฅผ ์ค์ฌ์ผ๋ก ๋ฐ์ดํฐ ํ๋ ์ ๋ณํฉ
merg <-
merg
#enmae.y ๊ฐ ์ค๋ณต๋์ด ์ญ์
merg<- merg
# #๋ฐ์ดํฐ ํ๋ ์ ๋ด์ฉ์ ๋ ์ฝ๊ฒ ์ ๊ทผํ๊ธฐ # #
zz<- zz
attach(rb_dfm) zzz<-x+y-z zzz detach()
############# 5. ๋ฐ์ดํฐ ๋ณํ
์๋ฃํ ๋ณํํ๊ธฐ
# #as.charater() #as.complex() #as.numeric() ๋๋ as.double() #as.integer() #as.logical()
๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ณํํ๊ธฐ
# #as.data.frame() #as.list() #as.matrix() #as.vector()
######### ๋ฐ์ดํฐ ๋ณํ ############ ####################################
apply ํจ์, (apply, lapply, sapply, tapply, mapply)###
byํจ์, split ํจ์
์์ ํจ์๋ค์ ํตํด ๋จ๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ค.
#########################################################
์์ธ์ ํตํด ์ง๋จ ์ ์
v<-c(24,23,52,46,75,25) w<-c(87,86,92,84,77,68) f<-factor(c(โAโ,โAโ,โBโ,โBโ,โCโ,โAโ)) dfm<-data.frame(value=v,group=f) dfm
๋ฒกํฐ๋ฅผ ์ฌ๋ฌ ์ง๋จ์ผ๋ก ๋ถํ ํ๊ธฐ
#group<-split(v,f) #๋ฒกํฐ๋ฅผ ์์ธ์ ๋ฐ๋ผ ๋ถํ #group <-unstack(data.frame(v,f)) #๋ฒกํฐ๊ฐ ๋์ผํ ๊ธธ์ด์ธ ๊ฒฝ์ฐ ๋ฆฌ์คํธ๋ฅผ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก ๋ณํํด์ค
group<- group
group<- group
group<- group
group<- group
library(MASS)
head(Cars93)
# Origin={USA,non-USA}, MPG.city๋ ๋์์์์ ์ฐ๋น
g<- g
#MPG ํ๊ท ๊ณ์ฐ
๋ฆฌ์คํธ์ ๊ฐ ์์์ ํจ์ ์ ์ฉ
#list<-lapply(l,func) #vector<-sapply(l,func)
s1<-c(91,87,95,96,89,87,86,85,84,86,88,92,91,93,92,92,91,93,94,94,95,96,96,96,99,95,98,97,92,86,84,89,87,86,89,85,84) s2<-c(89,86,85,92,93,91,90,89,81,84,85,89,92,95,96,91,93,92,90,90,92,91,93,92,90,92,92,93,94,99,95,96,94) s3<-c(89,86,78,89,84,95,87,92,90,90,91,93,93,92,93,94,95,95,96,98,100,85,79,82,89,86,95,89,92,91,90,90,93,90,85,86,84,90) s4<-c(89,79,85,86,86,85,84,82,82,91,92,100,89,91,92,90,93,91,90,85,86,84,87,89,90,90,89,86,89,85,89,87,84,80,79,90,82)
length(s1) length(s2) length(s3) length(s4)
scores<- scores
ttest<- ttest
๋ชจ๋ ํ์ ํจ์ ์ ์ฉํ๊ธฐ
results<-apply(met, 1, func)
m1<-c(82.5,88.2,89.2,87.5,89.9,78.3,79.8,80.9,81.9,83.5,85.6,87.2,88.2,89.5,91.5,78.9,79.2,81.5,83.2,82.5) dim(m1)<-c(4,5) colnames(m1) <- c(โtr1โ,โtr2โ,โtr3โ,โtr4โ,โtr5โ) rownames(m1) <- c(โTomโ,โYoonโ,โMoonโ,โSongโ) m1
#applyํจ์๋ ํ๋ ฌ์ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ง๋ค์ด์ก๊ณ 1-ํ,2-์ด์ func์ผ๋ก ์ฒ๋ฆฌ
#lapply๋ ๋ฆฌ์คํธ ํํ์์ ์ ์ฉํ ์ ์์ผ๋ฏ๋ก ํ๋ ฌ์ ๋ชจ๋ ์์๋ฅผ ๋ฆฌ์คํธ๋ก ์ธ์ํจ
#sapply๋ ๋ชจ๋ ํ๋ ฌ์ ์์๋ฅผ ๋ฒกํฐ๋ก ์ธ์ํ์ฌ ๋ฐํํจ
t<-read.csv(โtest.csvโ, header=T) test<-data.frame(t) test
#๋ฐ์ดํฐ ํ๋ ์์์ apply๋ฅผ ์ ์ฉํ๋ ค๋ฉด ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ์ซ์๋ ๋ฌธ์๋ก ๋์ง์ ์ธ ๊ฒฝ์ฐ๋ง ์ ์ฉ๊ฐ๋ฅ
#๋ฐ์ดํฐ ํ๋ ์์ ๊ฐ ์ด๋ค์ ํด๋ ์ค๋ฅผ ํ์ธํ ๋ ํ์ฉ ๊ฐ๋ฅ
#๋ฐ์ดํฐ ํ๋ ์์์ ์ด์ ๊ธฐ์ค์ผ๋ก๋ง func์ ์ ์ฉํ ๋ ์ฌ์ฉ๊ฐ๋ฅ, lapply๋ ๋ฆฌ์คํธ๋ก ๊ฐ์ ๋ฐํ
#๋ฐ์ดํฐ ํ๋ ์์์ ์ด์ ๊ธฐ์ค์ผ๋ก๋ง func์ ์ ์ฉํ ๋ ์ฌ์ฉ๊ฐ๋ฅ, sapply๋ ๋ฒกํฐ๋ก ๊ฐ์ ๋ฐํ
๋ฐ์ดํฐ ์ง๋จ์ ํจ์ ์ ์ฉํ๊ธฐ
############################################### ###############################################
tapply(x,f,func) # x๋ ๋ฒกํฐ, f๋ ์ง๋จ ๋ถ๋ฅ ์์ธ, func๋ ํจ์
Cars93 attach(Cars93)
sum(Weight) mean(Weight)
Origin
# Cars93 ๋ฐ์ดํฐ ํ๋ ์์์ ๋ฌด๊ฒ๋ฅผ ์์ฐ์ง ๊ตฌ๋ถ๋ณ๋ก ํฉ๊ณ
# Cars93 ๋ฐ์ดํฐ ํ๋ ์์์ ๋ฌด๊ฒ๋ฅผ ์์ฐ์ง ๊ตฌ๋ถ๋ณ๋ก ํ๊ท
# Cars93 ๋ฐ์ดํฐ ํ๋ ์์์ ๋ฌด๊ฒ์ ๊ฐ์๋ฅผ ์์ฐ์ง ๊ตฌ๋ถ๋ณ๋ก ์นด์ดํธ
ํ ์ง๋จ์ ํจ์ ์ ์ฉํ๊ธฐ
############################################### ############################################### library(MASS) # Cars93 ๋ฐ์ดํฐ ํ๋ ์์์ ์์ฐ์ง๊ตฌ๋ถ๋ณ๋ก ์์ฝ
head(Cars93) attach(Cars93) model<- model
ํจ์๋ฅผ ์์ฑ
#๋ฌธ์์ด๋ค๋ฃจ๊ธฐ
#๋ฌธ์์ด ๊ธธ์ด ์์๋ด๊ธฐ
n<-c(โmyโ, โnameโ, โisโ, โTomโ) length(n)
#๋ฌธ์์ด ์ฐ๊ฒฐํ๊ธฐ
name<-c(โTomโ, โMoeโ, โLarryโ)
#ํ์๋ฌธ์์ด ์ถ์ถํ๊ธฐ
#๊ตฌ๋ถ์๋ก ๋ฌธ์์ด ๋ถํ ํ๊ธฐ
#ํ์ ๋ฌธ์์ด ๋์ฒดํ๊ธฐ s<-โCurly is the smart one. Curly is funny, too.โ
#๋ฌธ์์ด์ ๋ชจ๋ ์๋ณ ์กฐํฉ ๋ง๋ค๊ธฐ location<-c(โSeoulโ,โPusanโ,โInchonโ) treatment<-c(โT1โ,โT2โ,โT3โ)
#ํ์ฌ ๋ ์ง ์์๋ด๊ธฐ
#๋ฌธ์์ด์ ๋ ์ง๋ก ๋ณํํ๊ธฐ
#๋ ์ง๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๊ธฐ
#๋ ์ง ์ผ๋ถ ์ถ์ถํ๊ธฐ d<- p<-
#๋ ์ง๋ก ์์ด ์์ฑํ๊ธฐ start<- end<- countdown<-seq(from=start, to=end, by=1) countdown
#์ฐ์ต๋ฌธ์ 20190929
1. MASS ํจํค์ง์ ๋ด์ฅ๋ ๋ฐ์ดํฐ cats๋ ๋ค์ 3๊ฐ์ ๋ณ์๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
Sex - ์ฑ๋ณ: ๋ฒ์ฃผํ, ์์ปท(โFโ), ์์ปท(โMโ)
Bwt - ๋ชธ๋ฌด๊ฒ(kg)
Hwt - ์ฌ์ฅ์ ๋ฌด๊ฒ(g)
1-1. ์๋ ์ฝ๋์ ์๋ฏธ๋? (๊ฐ ๋ผ์ธ๋ณ๋ก ์ค๋ช ํ์์ค)
library(MASS) #- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ํฌํธ
head(cats)
#- cats์ ์์ 6๊ฐ ํ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅ
1-2. ์์ฅ ์๋ฃ(cats)์ ์๋ฃ์ ์๋ฅผ ๊ตฌํ์์ค.
cats length(cats[[1]]) #- 144 * 3
1-3. ์์ฅ์ ๋ชธ๋ฌด๊ฒ์ ์ฌ์ฅ์ ๋ฌด๊ฒ์ ํ๊ท ๊ณผ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
bwt<-cats$Bwt
str(bwt)
mean(bwt) sd(bwt)
hwt<-cats$Hwt
mean(hwt) sd(hwt)
mean(bwt) [1] 2.723611 sd(bwt) [1] 0.4853066 hwt<-cats$Hwt
mean(hwt) [1] 10.63056 sd(hwt) [1] 2.434636
1-4. ์์ฅ์ ์์๋ณ ๋ชธ๋ฌด๊ฒ์ ์ฌ์ฅ์ ๋ฌด๊ฒ์ ํ๊ท ๊ณผ ํ์คํธ์ฐจ๋ฅผ ๊ฐ๊ฐ ๊ตฌํ๋ผ.
cats male <- subset(cats,subset=(Sex==โMโ)) female <- subset(cats,subset=(Sex==โFโ))
mean(male$Bwt) sd(male$Bwt) mean(male$Hwt) sd(male$Hwt)
mean(female $Bwt) sd(female $Bwt) mean(female $Hwt) sd(female $Hwt)
mean(male$Bwt) [1] 2.9 sd(male$Bwt) [1] 0.4674844 mean(male$Hwt) [1] 11.32268 sd(male$Hwt) [1] 2.542288 mean(female $Bwt) [1] 2.359574 sd(female $Bwt) [1] 0.2739879 mean(female $Hwt) [1] 9.202128 sd(female $Hwt) [1] 1.357666
2. ์๋์ ๊ฐ์ ํ๋ ฌ X์ ๋ฒกํฐ y๊ฐ ์๋ค.
2-1. X์ y๋ฅผ ๊ฐ๊ฐ R๊ฐ์ฒด X, y๋ก ์ ์ฅํ์ฌ๋ผ.
2.2 X์ ์ ์นํ๋ ฌ์ ๊ตฌํ๋ผ
2.3 X ์ ์นํ๋ ฌ๊ณผ X์ ๊ณฑ์ ๊ตฌํ๋ผ
2.4 X ์ ์นํ๋ ฌ* X์ ์ญํ๋ ฌ์ ๊ตฌํ๋ผ
2.4 (X^TX)^-1X^T*y๋ฅผ ๊ตฌํ๋ผ
3. ์ฌ์ฉ์ ์ ์ํจ์ ๋ง๋ค๊ธฐ
3-1. ํ๊ท , ํ์คํธ์ฐจ, min, max๊ฐ์ listํํ๋ก ๊ฐ๊ฐ ๋ํ๋ด๋ ํจ์๋ฅผ ์์ฑํ์ฌ๋ผ.
๊ทธ๋ฆฌ๊ณ Cars93 ๋ฐ์ดํฐ์ MPG.highway๋ณ์์ ํ๊ท , ํ์คํธ์ฐจ, min, max ๊ฐ์ ๋ํ๋ด๋ผ.
3-2. ๋ ๊ฐ์ ์ซ์๋ฅผ ์ ๋ ฅ ๋ฐ์ ํ ๋ ๊ฐ์ด ๋ชจ๋ ์์์ผ ๊ฒฝ์ฐ ๋ ์์ ๊ณฑ์ ์ถ๋ ฅํ๊ณ
๋ ๊ฐ ์ค ํ๋๋ผ๋ 0์ด๋ ์์์ผ ๊ฒฝ์ฐ๋ ๋ ์์ ํฉ์ ์ถ๋ ฅํ๋ ํจ์๋ฅผ R์ฝ๋๋ก
์์ฑํ๊ณ 3์ -1์ ๋ฃ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ์์ค. (๋จ, if, else ๋ฌธ์ ์ฌ์ฉํ์ธ์.)
4. smoke ๋ฐ์ดํฐ๋ ๋ค์ 9๊ฐ์ ๋ณ์๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
Gender - ์ฑ๋ณ - ๋ฒ์ฃผํ(F:์ฌ์, M:๋จ์)
Age - ๋์ด - ์ฐ์ํ
Smoker - ํก์ฐ์ฌ๋ถ - ๋ฒ์ฃผํ(yes, no)
HowLong - ํก์ฐ๊ธฐ๊ฐ(๋ ) - ์ฐ์ํ
Cigarettes - ์ผํก์ฐ๋(๊ฐํผ) - ์ฐ์ํ
Height - ํค(cm) - ์ฐ์ํ
Waist - ๊ฐ์ด๋๋ (cm) - ์ฐ์ํ
Hips - ์๋ฉ์ด๋๋ (cm) - ์ฐ์ํ
Weight - ๋ชธ๋ฌด๊ฒ(kg) - ์ฐ์ํ
1. ์ฃผ์ด์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด R ๋ฐ์ดํฐํ๋ ์ smokers๋ก ์ ์ฅํ์ฌ๋ผ.
2. smokers์์ ์๋ฃ์ ์(๋ ์ฝ๋์ ์)๋ฅผ ๊ตฌํ์์ค.
3. smokers ์๋ฃ์ ์์์ ๋ถํฐ 10๊ฐ์ ๋ ์ฝ๋๋ฅผ ์ถ๋ ฅํ์ฌ๋ผ.
4. ์๋ฃ์์ ์ฌ์์ ๋จ์์ ์๋ฅผ ๊ตฌํ์์ค.
?table