벡터
벡터는 데이터 구조의 가장 기본적인 형태로 벡터는 1차원이며 한 가지 데이터 유형으로 구성된다.
할당 연산자인 <- 기호와 c() 함수를 이용해 다음과 같은 형식으로 생성한다.
변수명 <- c(값1, 값2, ..., 값n)
c() 함수는 같은 유형의 데이터를 결합하여 벡터를 생성하는 가장 기본적인 함수로
변수명에 값을 할당하면 벡터를 생성할 수 있고
값은 한 가지 타입의 유형으로만 구성 되어야 한다.
데이터형을 크게 숫자형, 문자형, 논리형 으로 나눌 수 있다.
- 숫자형
숫자형 벡터는 실수 범위에 해당하는 모든 숫자를 말한다.
실수형 벡터라고 하기도 하고
정수, 유리수, 무리수를 모두 포함하는 숫자를 데이터화 하면 숫자형 벡터가 되며 연산이 가능하다.
# 숫자형 벡터 생성하기
number <- c(-1, 0, 1) #벡터를 생성한다.
number #벡터를 조회한다.
어떠한 벡터를 생성하고 나면 그 벡터에 대한 정보를 확인할 수 있는 함수가 있는데
mode(), str(), length() 같은 함수들이 그러하다.
- mode() : 데이터 유형을 확인하는 함수
- str() : 데이터 유형과 값을 전체적으로 확인할 수 있는 함수
- length() : 데이터 길이를 확인하는 함수
- 논리형 벡터
논리형 벡터는 TRUE와 FALSE 라는 진릿값으로 이루어진 데이터로, 주로 데이터 값을 비교할 때 사용한다.
# 논리형 벡터 생성하기
bool <- c(TRUE, FALSE, TRUE, FALSE)
bool
프로그래밍 언어들을 접하다 보면 프로그래밍 언어들만의 철학(?)이 다 다르기 때문에
여러가지를 다루는 사용자의 입장에서는 귀찮은 부분들이 있는데
바로 이러한 부분이 아닌가 싶다.
Python의 경우에는 True, False 같은 형태로 가장 앞글자만 대문자를 넣어줘야 Boolean 형태로 인식하는 반면
R의 경우에는 TRUE, FALSE 같은 형태로 전부 다 대문자로 해줘야 인식을 한다.
- 문자형 벡터
문자형 벡터는 우리가 흔히 아는 문자열 형태의 벡터이다.
# 문자열 벡터 생성하기
string <- c("Hello", "world")
string
범주형 자료 & 행렬
범주형 자료는 특수한 형태의 벡터로 이루어져 있으며, 명목형 자료를 바탕으로 범주화한 데이터
범주형 자료와 상반되는 개념은 수치형 자료이다
ex) 1월 2월 3월은 순서가 있고, 숫자를 포함하지만 계산할 수 없는 데이터 이기 때문에 범주형 자료이다.
범주형 자료는 Categorical 한 자료라고 생각하면 된다.
또 세분화 해서 명목형이니 순서형이니 나눌 수 있지만 아직까지는 범주형으로만 구성되는 것 같다.
범주형 자료는 factor() 함수를 사용하여 생성하는데
Categoric <- factor(범주화할 자료, labels = c("범주명1", "범주명2")
범주화할 자료에는 범주로 구성할 데이터 값인 벡터를 입력하고, labels 옵션으로 각 범주에 순서대로 이름을 지정하여준다.
# 범주형 데이터 생성하기
example <- c(2, 1, 3, 2, 1)
categoric <- factor(example, labels <- c("Apple", "Banana", "Cherry"))
위와 같은 형태로 벡터를 구성하면 되고 결과값은
1 = 'Apple'
2 = 'Banana'
3 = 'Cherry'
로 각각 레이블을 주고 값을 할당하였다.
행렬 데이터는 matrix() 함수를 이용하여 다음과 같은 형식으로 생성할 수 있다.
matrix(벡터, norw = 행 개수, ncol = 열 개수)
matrix() 함수 내에 행렬로 배치할 데이터 값인 벡터를 구성하고, nrow와 ncol 에 인수를 사용하여 행과 열의 개수를 지정한다.
x <- c(1, 2, 3, 4, 5, 6)
matrix(x, nrow=2, ncol=3)
matrix(x, nrow=3, ncol=2)
이러한 형태로 nrow와 ncol을 어떻게 지정해주느냐에 따라 행렬의 형태가 바뀐다
행에는 [n, ] 같은 형태로 앞에 숫자가 들어가 있고
열에는 [ , n] 과 같은 형태로 뒤에 숫자가 들어가 있는 것이 포인트이다.
그런데 여기서 자세히 보면 nrow나 ncol에 관계 없이
1~6까지의 숫자가 1열부터 배치되는 것을 볼 수 있는데
여기서 matrix() 함수 안에 byrow = T 라는 값을 주게 되면
숫자가 1행부터 배치되는 것을 확인할 수 있다.
변수와 함수
변수는 특정 범위 안에서 다양하게 변하는 값을 의미하는데
예를 들어, "나이"라는 변수는 1부터 시작하여 다양한 값을 가질 수 있다.
이러한 변수의 값들이 모여 하나의 데이터 세트가 되고 분석의 대상이 되므로 변수의 개념을
명확하게 알고 있어야 한다.
# 변수 생성규칙
- 첫 문자는 반드시 영문자 또는 마침표를 사용
- 첫 문자에는 숫자, 언더바(_) 등을 사용할 수 없다.
- 마침표(.)와 언더바(_)를 제외한 특수 문자는 사용할 수 없다.
- 대문자와 소문자를 구분
- 변수명 중간에 빈칸을 넣을 수 없다. 빈칸은 언더바(_)를 활용하여 표현
함수는 특정한 기능을 수행하기 위해 사전에 설계된 프로그래밍 구문을 묶어놓은 것
함수는
함수명(인자값)
을 통해서 사용할 수 있으며
함수를 통해서 구해진 값을 변수에 저장할 수도 있다.
# 함수 예제
sum(10, 20) # 인자안에 있는 값들을 더하는 함수 sum
x <- sum(10, 20)
a <- sum(1:100) # 콜론의 의미는 1부터 100까지의 값을 뜻함
이러한 형태로 사용할 수 있으며
사용자가 별도로 함수를 정의할 수도 있다.
# 사용자 정의 함수 지정하기
함수명 <- function(인자1, 인자2, ... , 인자n) {
함수가 구현할 내용
. . .
return (결과값)
}
'데이터 > R' 카테고리의 다른 글
[R] 패키지 설치하기, 패키지 불러오기 (0) | 2022.11.19 |
---|---|
[R] R, R studio 설치하기 (0) | 2022.11.16 |