《R의 자료구조》
- 스칼라 : 하나의 값을 저장하는 구조
- 벡터 : 1차원의 구조. 같은 자료형만 저장가능
- 행렬(매트릭스) : 2차원의 구조. 같은 자료형만 저장가능
- 배열 : 행렬을 여러개 저장하는 구조(N차원). 같은 자료형만 저장가능
- 데이터프레임 : 행렬과 같은 구조. 다른 자료형을 저장가능
- 리스트 : 여러 자료구조를 저장하는 구조. 다른 자료형을 저장가능
* 요인 : 범주형 자료를 사용하는 벡터
* 다른 자료형을 저장할 수 있는 구조 : 데이터프레임, 리스트
* 같은 자료형을 저장할 수 있는 구조 : 벡터(1차원), 행렬(2차원), 배열(N차원)
《벡터(vector)》
같은 자료형을 가진 여러개의 값들을 저장하는 구조
여러개의 값들은 나열되어 저장되기 때문에 순서가 존재한다
인덱스(index) : 각 값에 부여된 순서번호. 1번부터 시작하고 순차적으로 증가한다.
1 2 3 4 -> 인덱스
[ 값1 ][ 값2 ][ 값3 ][ 값4 ]
《벡터 생성》
1. c() 함수 : c(값1, 값2, 값3, 값4...)
ex) c(1, 3, 5, 7), c("길동", "영희", "철수")
2. seq() 함수 : seq(from = 시작값, to = 끝값, by = 증감값)
시작값부터 끝값까지 증감하는 값들을 벡터로 만든다
* by 생략 : 시작값 < 끝값 -> 1씩 증가
시작값 < 끝값 -> 1씩 감소
규칙성이 있는 숫자 값들을 벡터로 만들 때 주로 사용한다
3. 콜론 연산자(:)
시작값 : 끝값
시작값부터 끝값까지 1씩 증감하는 값들을 벡터로 만든다
시작값 < 끝값 -> 1씩 증가
시작값 > 끝값 -> 1씩 감소
4. rep() 함수(복제) : rep(벡터, each, times)
ex) rep(1:3, each = 2, times = 3)
기존벡터 -> 1 2 3
each 번 반복 -> 11 22 33
반복행위를 times 만큼 반복 -> 11 22 33 11 22 33 11 22 33
기존 벡터의 요소를 각각 each번 반복하고, 이 반복행위를 times번 반복하는 벡터를 생성한다
《벡터에서 요소(값) 가져오기》
1. 벡터에서 하나의 요소 가져오기
원하는 특정 요소를 가져올 때는 해당 요소에 부여된 인덱스 번호를 사용한다
벡터명[인덱스번호]
ex) vec <- 1:3
생성된 벡터 : 1 2 3
2번째 칸에 저장된 값을 찾을 때 : vec[2]
2. 벡터에서 여러개의 요소 가져오기
벡터명[1,3] (X)
벡터명[c(1,3)] (O)
벡터명[여러개의 인덱스 번호가 담긴 벡터]
* R에서는 여러개의 값을 한번에 전달하기 위해 자료구조를 사용한다
3. 벡터에서 특정요소를 제외하고 가져오기
벡터명[-제외할 인덱스 번호]
해당 인덱스 번호를 제외한 나머지 요소들을 가져온다
ex) vec[-1] : 1번째 요소를 제외하고 2,3,4,5 번째 요소를 가져온다
vec[-c(1,3)] : 1번째, 3번째 요소를 제외하고 2,4,5번째 요소를 가져온다
4. 조건을 통해 특정 요소 가져오기
벡터명[논리벡터] : 논리벡터를 벡터의 각 요소에 부여하여 참인 요소만 가져온다
벡터명[벡터명[조건]] : 조건을 만족하는 요소를 가져온다
《벡터의 정보》
1. str() : 벡터의 자료형, 인덱스번호, 요소를 보여준다
2. length() : 벡터의 길이(요소의 개수)를 보여준다
3. names() : 벡터의 열 이름을 보여준다
《벡터의 열 이름》
names(벡터명) : 벡터 열(column)의 이름을 문자 벡터로 가져온다
아무 이름도 지정되지 않았다면 NULL이 나온다
names(벡터명) <- c("이름1", "이름2"...) : 벡터의 열 이름을 지정한다
벡터의 열 이름은 중복되면 안되고, 가능하면 한글을 사용하지 않는다
다른 타입으로 저장해도 문자타입으로 변환된다
벡터의 열 이름을 부여하면 인덱스 번호 대신 벡터명["열 이름"]으로 요소를 가져올 수 있다
《벡터의 사용》
1. 벡터에 요소 추가하기
벡터명[새로운 인덱스번호] <- 새로운 값
벡터명[새로운 열 이름] <- 새로운 값
2. 벡터에 요소 수정하기
벡터명[수정할 값의 인덱스번호] <- 수정할 값
벡터명[수정할 값의 열 이름] <- 수정할 값
3. 벡터에 요소 삭제하기
벡터명 <- 벡터명[-삭제할 요소의 인덱스번호
기존 벡터에서 삭제할 요소를 제외하고 가져와서 다시 벡터에 저장한다
'R' 카테고리의 다른 글
[R] 리스트, 요인, 제어문, 함수 (0) | 2024.04.02 |
---|---|
[R] 배열, 데이터프레임, 리스트 (0) | 2024.04.02 |
[R] 벡터, 행렬, 배열 (0) | 2024.03.22 |
[R] 변수명 규칙, 자료형, 연산자 (0) | 2024.03.19 |
[R] 자료형과 변수 (0) | 2024.03.14 |