Data/R

[R] 자료 타입- 벡터 선언,인덱싱,추가,함수

뚱요 2021. 7. 25. 00:00
반응형

자료 타입- 벡터 Vector

벡터

벡터 내 모든 원소는 같은 타입

정수,double, 문자열,논리값 등

벡터 선언 

c( 원소 )

x <- c(1,2,3)
#[1] 1 2 3

y <- c(1.0, 2, 3.4)
#[1] 1.0 2.0 3.4

z <- c('A','B','C','D')
#[1] "A" "B" "C" "D"

zz <- c(TRUE,FALSE)
#[1]  TRUE FALSE

벡터 인덱싱

(1) 숫자를 통한 인덱싱

각 원소의 위치에 따라 []사용하여 접근가능

R의 벡터는 인덱싱이 1부터 시작

z[0] 
#[1]character(0)

z[c(1,3)]
#[1] "A" "C"

(2) 이름을 통한 인덱싱

벡터의 각 값마다 인덱스에 이름을 지정할 수 있다. 

벡터의 원소의 수와 인덱스 이름을 수가 동일하지 않으면 순서대로 이름을 지정하고 매칭되지 않은 원소는 <NA>

지정하지 않는경우 NULL

names(이름)

객체 이름을 부여하거나 알아내다.

setNames(값,이름)

객체에 이름을 부여하여 생성

fruit <- c(1, 3, 2)
names(fruit)
#NULL
names(fruit) <- c("apple", "banana", "peach")
fruit
# apple orange peach
#     1      3     2
names(fruit)
#[1] "apple"  "banana" "peach"     

fruit[c("apple", "peach")]
# apple peach
#     1     2
fruit <- setNames(c(1, 3, 2), c("apple", "banana" ))
# apple banana   <NA> 
#     1      3      2

 

벡터 생성

  • c( ) 생성할 원소를 직접 입력
  • seq(from, to, [by], [length])
  • m:n  m부터 n까지 1씩 증가/감소하는 수열
  • rep(값, 반복 횟수)  동일한 값을 반복해서 수열 만듦
w<- c(1,2,3,4,5,6,7,8,9,10);w
#[1]  1  2  3  4  5  6  7  8  9 10

x<-seq(from=0, to=1, by=0.5);x
#[1] 0.0 0.5 1.0

y<-seq(from=0, to=1, length=11);y
# [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

z<-1:10
#[1]  1  2  3  4  5  6  7  8  9 10

10:-1
#[1] 10  9  8  7  6  5  4  3  2  0  -1

rev(z)
# [1] 10  9  8  7  6  5  4  3  2  1

rep(1,10)
# [1] 1 1 1 1 1 1 1 1 1 1
rep(c(1,2),c(4,2))
# [1] 1 1 1 1 2 2

벡터 함수

  • 벡터[위치] <- 값
    • 벡터의 인덱스 범위를 초과하는 경우 빈 자리는 결측치(NA) 처리
  • append(벡터, 값, after 위치) 벡터 내에서 원하는 위치에 값을 추가
  • length() 벡터의 길이(원소의 갯수)
x <- c(1,2,3,4,c(5,6))
x[10]<- 0; x
# [1]  1  2  3  4  5  6 NA NA NA  0

length(x)
#[1] 10

append(x,0,after=0)
# [1]  0  1  2  3  4  5  6 NA NA NA  0

append(x,7,after=6)
# [1]  1  2  3  4  5  6  7 NA NA NA  0
반응형

'Data > R' 카테고리의 다른 글

[R] 벡터 연산  (0) 2021.07.27
[R] 기본 통계함수  (0) 2021.07.23
[R] 자료형  (0) 2021.07.21
[R] 수학-사칙연산, 지수, 복소수  (0) 2021.07.21
[R] 기초: 명명규칙, 변수할당  (0) 2021.07.20