데이터 구조(벡터, 행렬, 리스트, 데이터프레임) 특집 - 벡터 두번째
< 벡터 seq() 연산 >
seq() 연산자는 콜론(:)을 일반화한 것이다. 산술연산을 통해 순서를 만드는 원리이다.
# 벡터 seq() 연산
seq(from=12, to=30, by=3) # 12부터 30까지 간격3으로 데이터 생성
seq(12, 30, 3) # from, to, by 생략가능
seq(from=1, to=100, length=10) # 1부터 100까지 10개 데이터 생성
seq(1, 100, length=10) # length는 생략X
- seq( )의 from에는 시작값, to에는 끝값을 입력한다.
- by옵션에 3을 입력하면 시작값부터 끝값까지 간격3으로 생성된다.
- length옵션에 10을 입력하면 시작값부터 끝값을 10분등해서 길이가 10인 벡터를 생성한다.
- by는 생략해도 by옵션으로 인식하지만 length는 생략할 수 없다.
< 벡터 rep() 연산 >
rep() 연산자는 긴 벡터에 쉽게 같은 숫자를 채울 수 있는 기능이다.
rep(x, time) 형태로 입력하면 time * length(x) 개의 원소로 채원진 벡터를 만들 수 있다.
# 벡터 rep()연산
x <- rep(8, 4)
x
y <- c(1:3)
rep(y, 3)
rep(y, each=3)
- each 옵션을 사용하면 각 원소를 each에 입력한만큼 각각 반복 생성하게 된다.
< all()과 any() 연산 >
- all() 연산자는 괄호안에 조건을 주고, 벡터 내 모든 인자 값이 조건을 충족하는지(모든 값이 True) 확인하는 것이다.
- any() 연산자는 괄호안에 조건을 주고, 벡터 내의 모든 인자 값 중 하나라도 조건을 충족하는지 확인하는 것이다.
all, any 연산을 하게 되면 결과값으로 논리형(T/F) 값을 출력한다.
# all, any
x <- 1:10
any(x>8)
any(x>10)
all(x>8)
all(x>0)
< NA와 NULL >
NA는 존재하지만 불확실한 값이고, NULL은 존재하지 않고 비어있는 값이다.
# NA 예제
x <- c(88, NA, 12, 168, 13)
x
length(x)
mean(x) # NA가 포함되어 평균값 계산 불가능
# na.rm=T, NA값 제외(remove)하고 연산
mean(x, na.rm=T)
mean(x, na.rm=TRUE)
- mean( )은 산술평균을 구하는 명령어이다.
- NA가 포함되어있는경우에는 계산이 불가능하므로 na.rm=T를 설정해주어 NA값을 무시하고 계산하도록 할 수 있다.
# NULL
y <- c(88, NULL, 12, 168, 13, NULL)
z <- c(88, 12, 168, 13)
length(y)
length(z)
mean(y)
mean(z)
NULL은 비어있는 값이라서 NULL이 없는 경우와 똑같다.
'R프로그래밍' 카테고리의 다른 글
[R프로그래밍] 행렬 구조 Ⅰ(matrix, 선형대수연산, 인덱싱, 필터링) (0) | 2020.04.17 |
---|---|
[R프로그래밍] 벡터 구조 Ⅲ(필터링, subset, which, ifelse 삼항연산, names) (0) | 2020.04.16 |
[R프로그래밍] 벡터 구조 Ⅰ(인덱싱, length, 재사용, 산술 및 콜론연산) (0) | 2020.04.13 |
[R프로그래밍] 샘플링(sampling)과 기초통계, 상관계수 (0) | 2020.03.16 |
[R프로그래밍] 팩터(Factor) 변수 (0) | 2020.03.13 |