참고 말씀 드리자면 이 자료는 copy 파일이다. 공부를 위해 잘 코딩 되어 있는 파일을 본인이 직접 따라서 코드를 따라서 적어 올리고 있다.

cbind test

a = c('A', 'B', 'C', 'D', 'E')
b = c(0.280, 0.257, 0.312, 0.266, 0.295)
c = cbind(a, b)
c
##      a   b      
## [1,] "A" "0.28" 
## [2,] "B" "0.257"
## [3,] "C" "0.312"
## [4,] "D" "0.266"
## [5,] "E" "0.295"
colnames(c) = c('player', 'avg')
c
##      player avg    
## [1,] "A"    "0.28" 
## [2,] "B"    "0.257"
## [3,] "C"    "0.312"
## [4,] "D"    "0.266"
## [5,] "E"    "0.295"
age = c(26, 23, 31, 27, 24)
d = cbind(c, age)
d
##      player avg     age 
## [1,] "A"    "0.28"  "26"
## [2,] "B"    "0.257" "23"
## [3,] "C"    "0.312" "31"
## [4,] "D"    "0.266" "27"
## [5,] "E"    "0.295" "24"

rbind test

f = rbind(a, b)
f
##   [,1]   [,2]    [,3]    [,4]    [,5]   
## a "A"    "B"     "C"     "D"     "E"    
## b "0.28" "0.257" "0.312" "0.266" "0.295"

merge test

d = matrix(c('C', 'D', 'E', 'B', 'A', 26, 23, 31, 27, 24), ncol=2)
d
##      [,1] [,2]
## [1,] "C"  "26"
## [2,] "D"  "23"
## [3,] "E"  "31"
## [4,] "B"  "27"
## [5,] "A"  "24"

Change name of variables

colnames(d) = c('player', 'age')
d
##      player age 
## [1,] "C"    "26"
## [2,] "D"    "23"
## [3,] "E"    "31"
## [4,] "B"    "27"
## [5,] "A"    "24"

Do Merge

e = merge(c, d, by='player')
e

Convert discrete variables into Categorical variables

str(e) # check table structures
## 'data.frame':    5 obs. of  3 variables:
##  $ player: chr  "A" "B" "C" "D" ...
##  $ avg   : chr  "0.28" "0.257" "0.312" "0.266" ...
##  $ age   : chr  "24" "27" "26" "23" ...
e$age = as.numeric(e$age)
e

What’s Wrong?

e$age = c(26, 23, 31, 27, 24) # compensate previous wrong
e$age = as.character(e$age)
g = ifelse(e$age>25, 1, 0)
g
## [1] 1 0 1 1 0
#e$age = c(26, 23, 31, 27, 24)
h = cbind(e, g)
h

Conditional Expressions

library(Lahman)
aa = subset(Batting, playerID=='altuvjo01' | playerID=='zobribe01')
aa
bb = subset(aa, yearID > 2011 & yearID < 2017)
bb
cc = subset(bb, !(yearID == 2014 | yearID == 2015))
cc
dd = subset(cc, select=c('playerID','HR','X3B'))
dd