ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Adsp 데이터분석준전문가 3과목 - 벡터 생성, 연산, 인덱싱, 벡터 결과값 예시
    S T U D Y/DataBase 2023. 1. 25. 19:04
    728x90
    반응형

    vector

    숫자, 문자, 논리형 데이터를 원소로 사용할 수 있음.
    동일한 자료형을 갖는 값들의 집합으로 하나의 열(col)로 구성됨

    벡터생성함수

    c(value1, value2, ...)
    Seq(from, to, by)
    Rep(x, times, each)

    벡터 결과값 예시

    rm(list=ls())
    Iv <- c(1, 2, 3)

    num[1:3] 1 2 3

    Cv <- c('A', "B", 'C')

    chr [1:3] "A", "B", "C"

    Bv <- c(TRUE, FALSE, TRUE)

    logi [1:3] TRUE FALSE TRUE

    fv <- c(3.4, 2.5, 8)

    num [1:3] 3.4 2.5 8

    T <- (1, 2, 3, 4)

    num [1:4] 1 2 3 4

    Icv <- c(iv, cv, bv) #각기 다른 타입의 원소를 사용하면 하나로 통일됨

    chr [1:9] "1" "2" "3" "A" "B' "C" "TRUE" ....

    rm(list=ls())
    v1 = seq(1, 5) # v11 = 1:5

    결과가 동일함 int [1:5] 1 2 3 4 5

    V2 = seq(1, 10, 2) #1부터 10까지 2씩 증가하면서 데이터 뽑아내기

    int[1:5] 1 3 5 7 9

    V3 = seq(1, 10, length=4) # 1부터 10까지 총 4개 데이터 뽑아내기

    int[1:4] 1 4 7 10

    V4 = seq(1, 3, length=5) # 1부터 3까지 5개 데이터 뽑아내기

    num [1:5] 1 1.5 2 2.5 3


    rm(list=ls())
    V1 = rep(1, 5) # V2 = rep(1, time=5) #1을 5번 뽑아내기

    num [1:5] 1 1 1 1 1


    V3 = rep(3:5, time=3) # time 이라는 글자 생략 가능 rep(3:5, 3) 과 동일

    # 3, 4, 5를 3번 뽑아내기

    int [1:9] 3 4 5 3 4 5 3 4 5


    v4 = rep(3:5, each=2) # 3, 4, 5를 각자 2개씩 뽑아내기

    int[1:6] 3 3 4 4 5 5

    V5 = rep(seq(1,5,2), 2) #만약 rep(seq(1, 5, 2), each=2) 이면 1 1 3 3 5 5

    num [1:6] 1 3 5 1 3 5

    벡터의 연산, 인덱싱 예시

    rm(list=ls())
    V1 <- seq(2, 10, 2)

    2 4 6 8 10

    V2 <- rep(2, 5)

    2 2 2 2 2

    V3 <- v1 + v2

    4 6 8 10 12

    V4 <- v1 %/% v2 #몫 구하기

    1 2 3 4 5

    V5 <- v1^v2

    4 16 36 64 100

    X <- c(1, 4, 8)
    Y <- c(2, 3)
    Z <- t(y) #전체행렬 s

    num[1, 1:2] 2 3

    Y

    [1] 2 3.

    (Console) T(y)

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

    M <- x %*% z #행렬곱 #x가 행방향 z가 열방향

    [1:3, 1:2] 2 8 16 3 12 24

    (console) m

    [,1] [,2]
    [1,] 2 3
    [2,] 8 12
    [3,] 16 24


    데이터 개수가 불균형한 상태 예시

    V1 <- rep(3, 6) # 3 3 3 3 3 3 # 만약에 rep(3, 7)로 변경하게 되면 두 객체의 길이가 서로 배수관계에 있지 않다고 오류메세지 뜸

    V2 <- c(1, 2, 3) # 1 2 3
    V3 <- v1 + v2

    4 5 6 4 5 6 #엘리먼트가 부족한만큼 v2를 반복해서 사용하게 됨

    V4 <- v2 + 3

    4 5 6

    벡터 인덱싱 예시

    v1 <- 1:5 #c(1, 5)

    1 2 3 4 5

    R1 = v1[3]

    3

    R2 = v1[-3] #3번에 있는거 빼고 가져와라

    1 2 4 5

    r3 = v1[2:4] #2, 3, 4번째 값 가져와라

    2 3 4

    R3 = v1[2:2]

    2

    r4 = v1[v1%%2==0]

    2, 4

    names(v1) <- c('A', 'B', 'C', 'D', 'E')

    r5 = v1[2] # b1['B']

    => Named int 2

    728x90
    반응형

    댓글

Designed by Tistory.