티스토리 뷰


1. Vector     : 벡터 *****

2. Factor     : 요인 **

3. Matrix     : 행렬

4. Array      : 배열

5. Data.Frame : 데이터 프레임 *****

7. Data.Table   : 데이터 테이블 *****

6. List       : 리스트 ***


1.1 벡터 생성 (To make Vector)

  (1) 하나의 값(element)으로 이루어진 벡터

  (2) 두 개 이상의 값(element)으로 이루어진 벡터

  (3) ‘start:end’ 형태의 문법

  (4) seq(from = , to = , by = )

  (5) sequence(정수)

  (6) rep(vector, times = , each = )


 1.1 벡터 생성에 대해서는 이전 글 3.벡터(Vector) (2) 벡터 생성 - R 기초 편을 참조하세요.http://vvwwvw.tistory.com/9?category=782977


1.2 벡터 속성(Attribute)

  (1) type 

  (2) element의 개수 확인

  (3) element의 이름 확인

1.3 추출(slicing)

 (1) indexing
 (2) 벡터에서 일부 element를 잘라서 가져옴 = 추출하기.

1.4 정렬(Sort)

1.5 연산(Compute

 (1) 벡터화(Vectorization)

 (2) 재사용규칙(Recycling)




1. 벡터(Vector)

한 가지 스칼라 데이터 타입의 데이터를 저장한다.(# 하나의 유형으로 구성됨)

# 하나의 열(Column)로 구성됨, 1차원 구조

# 데이터 분석의 기본 단위


1.2 벡터 속성(Attribute)

  (1) type : mode(vector), is.xxxxx(vector)


> x1 <- 'Love is choice.'
> x3 <- 10.5
> x5 <- FALSE
> mode(x1)
[1] "character"
> is.character(x1)
[1] TRUE
> is.numeric(x1)
[1] FALSE
> is.numeric(x3)
[1] TRUE
> is.logical(x5)
[1] TRUE


 (2) element의 개수 : length(vector)

> hobby <- c("영화보기", "골프", "축구", "수영", "코딩")
> length(hobby)
[1] 5


 (3) element의 이름 : names(vector)

> hobby
[1] "영화보기" "골프"     "축구"     "수영"     "코딩"    
> names(hobby) # NULL : 객체(NULL)가 없는 것.
NULL
> names(hobby) <- c("소xx", "이xx", "현xx", "안xx", "하xx")
> hobby
      소xx       이xx       현xx       안xx       하xx 
"영화보기"     "골프"     "축구"     "수영"     "코딩" 
> names(hobby) <- NULL


NULL : NULL 객체를 뜻하며, 초기화되지 않았을 때 사용한다. - 변수에 NULL이 저장되어 있는지 is.null()을 사용하여 판단한다.

NA(결측치) : 데이터 값이 없음을 나타낸다. - 변수에 NA 값이 저장되어 있는지는 is.na()을 사용하여 판단한다.


※ NULL 과 NA의 차이

   - NA는 결측치, 혹은 Missing value라고 하며, 데이터 값이 빠져 있는 경우를 뜻한다. 반면 NULL은 프로그래밍의 편의를 위해 미정(undefined) 값을 표현하는 데 사용하는      개념이다.  -참조 : R을 이용한 데이터 처리&실무, 더북(TheBook)



1.3 추출(slicing)

(1) 색인 (indexing) 

# element의 위치

# 색인은 1로 시작함.


> food <- c("치킨", "푸딩", "파스타", "빵", "오트밀")
> food[1]
[1] "치킨"
> food[2]
[1] "푸딩"



(2) 벡터에서 일부 element를 잘라서 가져옴 = 추출하기.

# vector[index]


> # 문제 : 3, 4, 5 번째를 가져오세요.
> food[3:5]
[1] "파스타" "빵"     "오트밀"
> # 문제 : 홀수 번째를 가져오세요.
> food[seq(from = 1, to = 5, by = 2)]
[1] "치킨"   "파스타" "오트밀"
> food[seq(from = 1, to = length(food), by = 2)]
[1] "치킨"   "파스타" "오트밀"



1.4 정렬(sort)

# sort(vector, decreasing = )

# decreasing = FALSE : 오름차순, default

# decreasing = TRUE  : 내림차순


> hobby
[1] "영화보기" "골프"     "축구"     "수영"     "코딩"    
> sort(hobby)
[1] "골프"     "수영"     "영화보기" "축구"     "코딩"    
> sort(hobby, decreasing = FALSE)
[1] "골프"     "수영"     "영화보기" "축구"     "코딩"    
> sort(hobby, decreasing = TRUE)
[1] "코딩"     "축구"     "영화보기" "수영"     "골프"    
> sort(hobby, decreasing = FALSE)[1:3] #정렬 후 추출하기
[1] "골프"     "수영"     "영화보기"


1.5 연산(compute)

(1) 벡터화(Vectorization)

for문을 사용 안해도 연산가능


> v1 <- 1:3
> v2 <- 4:6
> v1 + v2
[1] 5 7 9


(2) 재사용 규칙(Recycling)

벡터의 길이가 달라도 연산이 가능하다. 단 두 벡터는 배수관계가 되어야 한다.


> v4 <- 1:6
> length(v1) # v1 요소 : 3개
[1] 3
> length(v4) # v4 요소 : 6개
[1] 6
> v1 + v4    # v1의 요소가 재사용됨.
[1] 2 4 6 5 7 9



> v5 <- 1:5
> length(v1) # v1 요소 : 3개
[1] 3
> length(v5) # v5 요소 : 5개
[1] 5
> v1 + v5 # 배수관계가 없으면 warning이 발생.
[1] 2 4 6 5 7
경고메시지(들): 
In v1 + v5 : 두 객체의 길이가 서로 배수관계에 있지 않습니다


'R > R 기초' 카테고리의 다른 글

[R기초] 배열(Array)  (0) 2018.03.22
[R기초] 팩터(Factor) - 집단  (0) 2018.03.22
[R기초] 벡터(Vector) - (1) 벡터 생성  (0) 2018.03.22
[R기초] 데이터의 유형(Type of Data)  (0) 2018.03.22
[R기초] 연산자(Operator)  (0) 2018.03.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함