반응형
1.벡터
R에서 사용하는 벡터는 다른 프로그래밍 언어에서 흔히 접하는 배열의 개념이다. c()를 사용해 벡터를 만들며,
각 셀에 이름을 부여할 수 있는데, 이때는 names()를 사용한다. 그리고 벡터는 중첩을 허용하지 않는다.
글로 설명하는 것보다 예제를 따라하면서 익히는 것이 빠르다.
예제를 통해 벡터를 한 번에 정리해보자.
ex)
> (x <- c(1,2,3,4,5)) #실행문을 ( ) 안에 넣으면 print 함수까지 발동되어 결과값이 출력된다.
[1] 1 2 3 4 5
> (x <- c(1, "a" , 2)) #벡터는 한 가지 유형의 스칼라 타입만 가능한다. 따라서 서로 타입이 다를 경우 자동 형 변환한다.
[1] "1" "a" "2"
> x <- c("a", "b", "c") #인덱스와 시퀀스를 이용한 다양한 출력 방법
> x[2]
[1] "b"
> x[-1]
[1] "b" "c"
> x[c(1,3)]
[1] "a" "c"
> x[1:3]
[1] "a" "b" "c"
> y <- c(2,4,6)
> names(y) <- c("q", "w", "e" ) #셀에 이름 넣기
> y
q w e
2 4 6
> y[c("w","e")]
w e
4 6
> names(y)[2]
[1] "w"
> z <- c(1,3,5)
> length(z)
[1] 3
> nrow(z) #소문자 rnow()는 행렬만 가능
NULL
>NROW(z) #대문자는 벡터, 행렬 모두 가능
[1] 3
> identical(c(1,2), c(1,2)) #identical() 함수로 두 벡터가 같은 값을 담고 있는지 알 수 있다.
[1] TRUE
> "a" %in% c("a", "b") # %in%은 메칭 연산자로 어떤 값이 벡터에 포함되어 있는지 알려준다.
[1] TRUE
벡터 전체 값에 연산이 가능한데, 벡터를 마치 하나의 숫자처럼 생각하고 연산이 수행하기 때문에 루프를 돌지 않고 계산된다.
각 요소별로 연산을 수행하는 경우보다 실행 속도가 빠르다.
> x <- c( 1,2,3)
> x+1
[1] 2 3 4
> c(1,2,3) == c(1,2,3) # if문에서는 하나의 진리값을 원하기 때문에 identical() 함수를 사용해야 한다.
[1] TRUE TRUE TRUE
> c(1,2,3) != c(1,2,4)
[1] FALSE FALSE TRUE
union 합집합
intersect 교집합
setdiff 차집합
2.시퀀스
seq(
from, #시작 값
to, #끝 값
by #증가치 (default = 1)
)
ex)
> seq(9, 6)
[1] 9 8 7 6
> seq(2, 9, 3)
[1] 2 5 8
> 4:9 #1씩 증가 혹은 감소인 경우 start:end 의 축약형으로 표현 가능하다.
[1] 4 5 6 7 8 9
3.반복 벡터
rep(
x, #반복할 값이 저장된 벡터
times, #전체 벡터의 반복 횟수
each #개별 값의 반복 횟수
)
ex)
> rep(1:2, times=3)
[1] 1 2 1 2 1 2
>rep(1:2, each=3)
[1] 1 1 1 2 2 2
>rep(1:2, each=3, times=2)
[1] 1 1 1 2 2 2 1 1 1 2 2 2
반응형
'R > R 기본' 카테고리의 다른 글
R studio 실행 오류 Fatal error(엑세스가 거부되었습니다) (0) | 2019.09.28 |
---|---|
R 설치 및 R Studio 설치 방법 (0) | 2019.09.28 |
[R 2] 변수와 연산자 (0) | 2018.11.13 |
댓글