59doit

[ R ] vector 자료구조 본문

Programming/R

[ R ] vector 자료구조

yul_S2 2022. 11. 15. 08:35
반응형

Vector자료구조 

(1) 벡터   객체

  • c(), seq(), rep()함수 이용 c()함수
  • 인수는 콜론(:)이나 콤마(,)를 이용하여 표현 콜론(:): 범위
  • 콤마(,): 개별 데이터 구분

 

ex )  c()함수 이용 벡터 생성

c(1:20)
# 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

1:20
# 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

c(1, 2, 3, 4, 5)
# 1 2 3 4 5

 

 

 

ex )  seq()함수 이용 벡터 생성

seq(1, 10, 2)
# 1 3 5 7 9

 

 

 

ex )  rep()함수 이용 벡터 생성

rep(1:3, 3)                    #3번반복
# 1 2 3 1 2 3 1 2 3

rep(1:3, each = 3)        #각각 3번반복해서 나열
# 1 1 1 2 2 2 3 3 3

 

 

(2)벡터   자료   처리

  • setdiff()함수, intersect()함수

ex )  벡터 자료 처리

union()
setdiff()
intersect()

 

 

 

ex )   union(), setdiff(), intersect() 함수를 이용한 벡터 자료 처리

x <- c(1, 3, 5, 7)
y <- c(3, 5)

union(x,y)
# 1 3 5 7

setdiff(x,y)
# 1 7

intersect(x,y)
# 3 5

 

 

ex )  숫자형, 문자형, 논리형 벡터 생성

  • 반드시 같은 유형의 자료만 하나의 변수에 저장할 수 있다. 
  • 다른 유형의 자료형이 혼합된 경우 자료형이 변경될 수 있다.
v1 <- c(33,5,20:23,12)
v1
# 33  5 20 21 22 23 12

v2 <- c("훈","민","정","음")
v2
# "훈" "민" "정" "음"

v3 <- c(T, TRUE, FALSE, T, TRUE, F, T)
v3 
# TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE

 

 

 

ex )  자료형이 혼합된 경우

  • 자료형 혼합된 경우 숫자를 문자열로 인식함(자료형 변경됨)
v4<-c(33,05,20,21,"4")
v4
# "33" "5"  "20" "21" "4" 

 

 

 

ex )  한 줄에 여러개의 스크립트 명령문 사용

  • 세미콜론(;) 사용으로 한줄에 여러개의 명령문 사용 가능
v1; mode(v1); class(v1)
# 33  5 20 21 22 23 12
# "numeric"
# "numeric"

v2; mode(v2); class(v2)
# "훈" "민" "정" "음"
# "character"
# "character"

v3; mode(v3); class(v3)
# TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE
# "logical"
# "logical"

 

 

 

 

 

ex )  칼럼명 지정

  • names()함수: 벡터에 컬럼명 지정
age <- c(30, 35, 40)
age
# 30 35 40


names(age) <- c("홍길동", "이순신", "강감찬")
age   
#홍길동 이순신 강감찬 
#30     35     40 

벡터에 NULL추가 시 객체 제거

age <- NULL   

 

 

 

ex )  벡터 참조

  • R에서는 index는 1부터 시작
  • 콜론(:)은 범위 설정 시 시용
a<-c(1:50)
a[10:45]
# [1] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
# [23] 32 33 34 35 36 37 38 39 40 41 42 43 44 45

a[18:(length(a)-5)]     
# [1] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
# [23] 40 41 42 43 44 45

 

 

ex )  잘못된 index사용(Error)

  • 콤마(,)는 2차원 이상 다차원 배열 시 사용
a[1, 2] 
# Error in a[1, 2] : incorrect number of dimensions

 

 

ex )  c()함수에서 콤마 사용 예

  • 콤마(,)는 개별 index 접근 시 사용 
  • 콜론(:)은 범위 설정 시 시용
v1 <- c(13, -5, 20:23, 12, -2:3)

v1[1]
# 13

v1[c(2, 4)]
# -5 21

v1[c(3:5)]
# 20 21 22

v1[c(4, 5:8, 7)]
# 21 22 23 12 -2 12

 

 

ex )  음수 index

  • index가 음수 --> 해당 index 제외 
  • -c(2:5) : index 2-5 제외
v1[-1]; v1[-c(2, 4)]; v1[-c(2:5)]; v1[-c(2, 5:10, 1)]
# [1] -5 20 21 22 23 12 -2 -1  0  1  2  3
# [1] 13 20 22 23 12 -2 -1  0  1  2  3
# [1] 13 23 12 -2 -1  0  1  2  3
# [1] 20 21  1  2  3

 

 

 

(3)벡터   객체   데이터   셋

 

ex )  RSADBE패키지

install.packages("RSADBE")
library(RSADBE)
data(Severity_Counts)          # RSADRE 패키지에서 제공되는 데이터셋 로딩
str(Severity_Counts)             # 데이터셋 구조 보기

 

 

ex ) 데이터 셋

Severity_Counts

 

반응형

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

[ R ] DataFrame 자료구조  (0) 2022.11.15
[ R ] Matrix & Array 자료 구조  (0) 2022.11.15
[ R ] 함수사용  (0) 2022.11.14
[ R ] 변수 & 자료형  (0) 2022.11.14
RTools  (0) 2022.10.21
Comments