59doit
[ R ] vector 자료구조 본문
반응형
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