반응형
자료 타입- 벡터 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 |