카테고리 없음

[ADsP]3과목 R 프로그래밍 기출 substr(), as.Date(), matrix(), cbind(), rbind(), apply()

Chaebae 2023. 5. 18. 15:22

기출에서 나온 함수 정리

 

substr(vector, start, end)

s <- c("Monday", "Tuesday", "Wednesday")

> substr(s,1,2)
[1] "Mo" "Tu" "We"

> substr(s,1,5)
[1] "Monda" "Tuesd" "Wedne"

 

as.Date

as.Date('08/23/2030','%m/%d/%Y')
[1] "2030-08-23"

as.Date('08/23/2030','%m/%d/%y')
[1] "2020-08-23"

 

matrix(vector, row, col) or matrix(vector, ncol, byrow)

mx <- matrix(c(1:12), 3, 4) 
> mx
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12

mx = matrix(c(1,2,3,4,5,6), ncol=2, byrow=T)
> mx
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5    6

mx = matrix(c(1,2,3,4,5,6), ncol=2, byrow=F)
> mx
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6

 

cbind(), rbind()

a <-cbind(c(1,2,3), c(4,5,6), c(7,8,9))
> a
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9

b <- rbind(c(1,2,3), c(4,5,6), c(7,8,9))
> b
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
[3,]    7    8    9

 

apply(object, margin, function)

x <- matrix(c(1:12),3,4)
 
> x
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12

min(apply(x,1,mean)) # x의 1(row)들의 평균(mean)을 구한 후 그 중 최소값(min)

> min(apply(x,1,mean)) #3개의 행의 평균 중 가장 작은 값이 5.5다
[1] 5.5 
> (1+4+7+10)/4 #첫번째 행 
[1] 5.5

> max(apply(x,2,mean)) #4개의 열의 평균 중 가장 큰 값이 11이다.
[1] 11
> (10+11+12)/3 #네번째 행
[1] 11