1. Vector
(1) vector
- 하나의 열(colum)로 구성되어 있음 --> 1차원 구조
- 데이터 분석의 가장 기본 단위
- 하나의 데이터 유형(mode)만 가짐 (두가지 유형을 동시에 가질 수 없음)
(2) 벡터를 정의하는 속성(attribute)
- 형(mode), 길이(length), 벡터의 원소이름(names)
- ex) - 1,2,3,4 : 길이가 4인 수치형 벡터
- "a", "b", "c" : 길이가 3인 문자형 벡터
- 숫자 : 길이가 1인 수치형 벡터
1.1 vector만들기
(1) 하나의 값(element)으로 이루어진 vector
v1 <- 10 # data : Vector / 타입 : numeric / element : 1
v2 <- "song"
v3 <- FALSE
(2) 두 개 이상의 값으로 이루어진 vector
1) c(element,1, element2, ...)
- c : combinem concatenate 의 약자, 원소들을 묶어서 벡터로 만듬
- 형의 변환은 정보가 손실되지 않는 방향으로 이루어짐(예를 들어, 정수형과 실수형은 실수형으로)
- numeric / charactor/ logical vector 를 만들 수 있음
- element들 간에 규칙이 없을 때 사용함
weight <- c(76, 65, 45, 75) #data : Vector / type : numeric / element : 4
food <- c("햄버거","초밥","떡볶이","꽃게탕") #data : Vector / type : chactor / element : 4
friend <- c(TRUE,FALSE,TURE,FALSE,TURE) #data : Vector / type : logical / element : 5
num1 <- c(1,3,5,6)
num2 <- c(77,35,14)
num3 <- c(num1,num2)#data : Vector + vector = vector / type : numeric / element : num = num3
c(1, "Lee", TRUE) # 다 CHAR로 바뀜
c(1, TRUE) # VECTOR는 두개 이상의 타입을 가질 수 없다.
2) :
- 순서값(sequence)을 생성하는 연산자
- numeric vector만 가능함
- start : end
- 1씩 증가되는 숫자 또는 1씩 감소되는 숫자로 이루어진 vector = 좌변에서 우변으로 1씩 증감하는 순서값을 생성
- start < end : 1씩 증가
- start > end : 1씩 감소
- start = end : start or end
- start 에 있는 숫자부터 시작해서 end에 있는 숫자를 넘지 않을 때까지 1씩 증가 또는 감소
1:100 : 1부터 1씩 증가해서 100까지
100:1
3) seq( from = , to = , by = )
- numeric vector만 만들 수 있음(숫자만 가능)
- seq : sequence 의 약자
- 순서값을 생성하는 변수
- : 와의 차이점은 공차를 지정할 수 있음
- from : start
- to : end
- by : by에 있는 숫자만큼 증가 / 감소
seq(from = 1, to = 5, by = 1)
seq(from = 1, to = 5, by = 0.01)
- argument(from, to, by 적어주는거)를 필수적으로 적을 필요는 없지만
누구나 봤을 때 직관적으로 알아낼 수 있도록 쓰는것이 좋음
- argument의 순서 중요하지 않음. but, argument가 없을때 순서 중요함
4) rep(vector, times = , each =)
- rep : replicate의 약자
- 주어진 vector를 복사하는 기능, 값을 반복하는 함수
- numeric / character/ logical vector를 만들 수 있음
rep(1, times = 10)
rep(1, each = 10)
rep(1:3, times = 3) => 1 2 3 1 2 3 1 2 3
rep(1:3, each = 3) => 1 1 1 2 2 2 3 3 3
rep(1:3, times = 3, each = 5)
=> 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 1 1 1 1 1 2 2 2 2 2 3 3 3 3
5) sequence(number)
- numeric vector만 만들 수 있음
- 1 ~ number 사이의 점수
- number는 0보다 큰 값이어야 함
sequence(5)
sequence(3.7)
sequence(1)
1.2 vector의 속성 (attributes)
(1) 데이터의 개수 : length(vector)
height <- c(170, 168, 175, 164, 169)
length(height)
(2) element의 이름 : names(vector)
names(height)
names(height) <- c("김세훈", "마한올", "김한얼", "양윤정", "원종현")
height
names(height) <- NULL
height
names(height)
(3) 데이터의 유형 : mode(vector),
- is.xxxx(vector)
- mode(height)
1.3 vector의 index
- vector의 위치 : 첫번째 위치는 1로 인식함
1.4 vector의 slicing
- vector중에서 일부를 잘라서 가져오는 것
- vector[index] - 여기 안에 ','가 오면 안됨
만약 , 가 온다면 data[행, 열]이 되면서 2차원구조가 됨
data[행, 열, 높] : 3차원 구조
height height <- c(170, 168, 175, 164, 169)
height[1] #1차원구조 = vector
height[2]
1.5 vector의 연산 ----
v1 <- 1:3
v2 <- 4:6
v3 <- v1 + v2
v3
v4 <- 1:6
v1 + v4
v5 <- 1:7
v1 + v5
'R' 카테고리의 다른 글
R - Data_factor (0) | 2019.03.31 |
---|---|
R - Type of Data (0) | 2019.03.31 |
R - Operator (0) | 2019.03.31 |