[R] 벡터, 행렬, 배열
《벡터에서 요소 가져오기》
1. 벡터에서 하나의 요소 가져오기
벡터명[인덱스번호]
벡터명[열 이름]
2.벡터에서 여러개 요소 가져오기
벡터명[여러개 인덱스번호가 담긴 벡터]
벡터명[여러개 열 이름이 담긴 벡터]
벡터명[-인덱스번호] -> 인덱스번호를 제외한 나머지 요소를 가져온다
3. 벡터에서 조건에 해당하는 요소 가져오기
벡터명[논리벡터] -> 각각의 요소에 논리벡터의 논리값이 부여된다
-> 부여된 논리값이 참(TRUE)인 요소만 가져온다
《벡터의 연산》
1. 산술 연산자
각 요소의 값을 산술 연산한다
* 연산하는 벡터의 길이가 같지 않으면, 길이가 짧은 벡터의 값을 재사용하여 연산이 진행된다
2. 관계 연산자
각 요소의 값을 관계 연산한다
3. 논리 연산자
각 요소의 값을 논리 연산한다
《매트릭스(행렬)》
같은 자료형의 여러개의 값들이 행과 열, 2차원 구조
행 : 가로줄(row), 열 : 세로줄(column)
《매트릭스 생성》
matrix(데이터 -> 벡터)
data : 매트릭스로 만들 여러개의 값들(벡터로 전달한다)
nrow : 행의 개수
ncol : 열의 개수
byrow : 데이터를 채우는 방향. F(열 방향), T(행 방향)
ex) matrix(data = 1:9, ncol = 3)
《매트릭스에서 요소 가져오기》
매트릭스명[행 인덱스번호, 열 인덱스번호]
매트릭스는 인덱스번호가 2개가 존재한다 -> 행, 열 인덱스번호
1. 하나의 행 데이터를 가져오기
매트릭스명[행의 인덱스번호, ]
-> 인덱스번호 행의 모든 열을 가져온다
2. 하나의 열 데이터를 가져오기
매트릭스명[ , 열의 인덱스번호]
->인덱스번호 열의 모든 행을 가져온다
3. 여러개의 행 데이터 가져오기
매트릭스명[행의 인덱스번호를 담은 벡터, ]
4. 여러개의 열 데이터 가져오기
매트릭스명[ , 열의 인덱스번호를 담은 벡터]
5. 특정 행과 열을 제외하고 가져오기
매트릭스명[ -제외할 행 인덱스번호, -제외할 열 인덱스번호]
《매트릭스의 정보》
1. str() : 행렬의 정보
2. length() : 행렬 전체의 데이터 개수
3. dim() : 행렬의 행, 열의 개수
4. nrow() : 행렬의 행 개수
5. ncol() : 행렬의 열 개수
6. dimnames() : 행렬의 행과 열의 이름
《행렬의 행과 열의 이름》
rownames() : 행렬의 행 이름
colnames() : 행렬의 열 이름
행렬의 행과 열에 이름을 붙이면 인덱스번호 대신 이름을 사용할 수 있다
《행렬의 사용》
1. 추가
행 추가 : rbind(기존행렬, 추가할 행)
열 추가 : cbind(기존행렬, 추가할 열)
2. 수정
행렬명[행 인덱스번호, 열 인덱스번호] <- 새로운 값
3. 삭제
행렬명 <- 행렬명[ -삭제할 요소의 행 인덱스번호, -삭제할 요소의 열 인덱스번호]
* rbind(), cbind() 함수를 통해 벡터로 행렬을 생성할 수 있다
rbind(벡터1, 벡터2) : 벡터 2개를 가로로 결합하여 행렬 생성
cbind(벡터1, 벡터2) : 벡터 2개를 세로로 결합하여 행렬 생성
《행렬의 연산》
두 개의 행렬을 산술연산하면 행렬의 요소끼리 연산된다
-> 벡터와 달리 두 행렬의 행과 열의 개수가 일치해야 한다
행렬의 내적(곱셈), 외적, 전치행렬, 역행렬을 구할 때는 관련함수나 연산자를 사용한다
* 내적 : 행렬 %*% 행렬
* 외적 : 행렬 %o% 행렬
* 전치행렬 : t()
* 역행렬 : solve()
《배열(array)》
행, 열, 면의 3차원의 형태
행렬이 여러면(층)으로 구성된 구조
같은 자료형의 여러개의 데이터를 저장할 수 있다
《배열 생성》
array(데이터, dim = c(행의 수, 열의 수, 면의 수))
dim 옵션에 값을 몇 개 전달하냐에 따라 1차원, 2차원, N차원의 배열이 생성된다