반응형

1. 벡터 형성 -> 매트릭스(행렬) 형성 -> bind -> 부분 행렬 출력을 해보자.


> y <- 1:12

> y <- matrix(y, nrow = 3)

> y

     [,1] [,2] [,3] [,4]

[1,]    1    4    7   10

[2,]    2    5    8   11

[3,]    3    6    9   12


> x <- 21:32

> x <- matrix(y, nrow = 3)

> y <- rbind(y,x)

> y

     [,1] [,2] [,3] [,4]

[1,]    1    4    7   10

[2,]    2    5    8   11

[3,]    3    6    9   12

[4,]    1    4    7   10

[5,]    2    5    8   11

[6,]    3    6    9   12


> y <- 1:12

> y <- matrix(y, nrow = 3)

> y

     [,1] [,2] [,3] [,4]

[1,]    1    4    7   10

[2,]    2    5    8   11

[3,]    3    6    9   12


> x <- 21:32

> x <- matrix(x, nrow = 3)

> x

     [,1] [,2] [,3] [,4]

[1,]   21   24   27   30

[2,]   22   25   28   31

[3,]   23   26   29   32


> y <- rbind(y,x)

> y

     [,1] [,2] [,3] [,4]

[1,]    1    4    7   10

[2,]    2    5    8   11

[3,]    3    6    9   12

[4,]   21   24   27   30

[5,]   22   25   28   31

[6,]   23   26   29   32


> edit(y)

     age height address tmp

[1,]   1      4       7  10

[2,]   2      5       8  11

[3,]   3      6       9  12

[4,]  21     24      27  30

[5,]  22     25      28  31

[6,]  23     26      29  32


> y[2:4,]

     [,1] [,2] [,3] [,4]

[1,]    2    5    8   11

[2,]    3    6    9   12

[3,]   21   24   27   30


> y[,3:4]

     [,1] [,2]

[1,]    7   10

[2,]    8   11

[3,]    9   12

[4,]   27   30

[5,]   28   31

[6,]   29   32




2. for문 이용하여 2차원 행렬 출력



> y <- matrix(1:12, 3)

> y

     [,1] [,2] [,3] [,4]

[1,]    1    4    7   10

[2,]    2    5    8   11

[3,]    3    6    9   12


> y <- matrix(1:12, nrow = 3)

> y

     [,1] [,2] [,3] [,4]

[1,]    1    4    7   10

[2,]    2    5    8   11

[3,]    3    6    9   12


> for(i in 1:nrow(m)){

+     for(j in 1:ncol(m)){

+         print(m[i,j])

+     }

+ }

[1] 1

[1] 3

[1] 5

[1] 7

[1] 9

[1] 2

[1] 4

[1] 6

[1] 8

[1] 10



3. sapply 직접 구현해보기


> s_apply <- function(x){

+     y <- c()

+     for(i in x){

+         y <- c(y, i*i)

+     }

+     return (y)

+ }


> s_apply(1:3)

[1] 1 4 9



4. lapply 직접 구현해보기


> l_apply <- function(x){

+     y <- c()

+     for(i in x){

+         y <- c(y, i*i)

+     }

+     return (as.list(y))

+ }


> l_apply(1:3)

[[1]]

[1] 1


[[2]]

[1] 4


[[3]]

[1] 9




5. 벡터를 원하는 크기만큼 0으로 초기화 하는 방법

double를 또는 rep를 쓰면 초기화를 할 수 있다.

> vc <- double(10)
> vc
 [1] 0 0 0 0 0 0 0 0 0 0

> vc <- double(5)
> vc
[1] 0 0 0 0 0

> vc <- rep(0, 3)
> vc
[1] 0 0 0

> vc <- rep(0, 20)
> vc
 [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0






반응형