본문 바로가기
R/Data Operation

R 산술/관계/비교/논리연산자와 벡터연산

by 통계열등생 2020. 11. 5.
반응형

 ◎ 산술연산자

 

+, -, *, / 사칙연산
%% 나머지
%/%
^ or ** 제곱, 지수승
sqrt() 제곱근, 루트

 

  • 사칙연산
> 10 + 2  # 덧셈
[1] 12
> 10 - 2  # 뺄셈
[1] 8
> 10 * 2  # 곱셈
[1] 20
> 10 / 2  # 나누기
[1] 5

 

> 1:5 * 2 + 1
[1]  3  5  7  9 11

 

※ 벡터와 상수, 벡터와 벡터 사칙연산 / 집합함수의 벡터연산 보러가기

small22.tistory.com/8

 

R 벡터 Vector - 생성/연산/인덱싱

벡터(vector)는 R의 기본 자료구조이다. 일련의 값을 순서대로 가지면서 동일한 자료형을 갖는 1차원의 배열구조이다.  ◎ 벡터 생성 c() > x = c(1, 2, 3) > print(x) [1] 1 2 3 > y = c(2, 4, 6) > r = c(x, y)..

small22.tistory.com

 

 

  • 나머지, 몫, 제곱, 제곱근
> # 나머지
> 9 %% 2
[1] 1
> 5.5 %% 3
[1] 2.5
> c(2,7,6) %% 3
[1] 2 1 0
> 
> # 몫 
> 9 %/% 2
[1] 4
> 5.5 %/% 3
[1] 1
> c(2,7,6) %/% 3
[1] 0 2 2
>
> # 지수승
> 9 ** 2
[1] 81
> 5.5 ^ 3
[1] 166.375
> c(2,7,6) ^ 3
[1]   8 343 216
> 
> # 제곱근 
> sqrt(9)
[1] 3
> sqrt(5.5)
[1] 2.345208
> sqrt(c(2,7,6))
[1] 1.414214 2.645751 2.449490

 

 

 

 ◎ 관계연산자

 

== 같다
!= 같지 않다
> 크다
>= 크거나 같다
< 작다
<= 작거나 같다

관계(비교)연산자는 두 값의 크기를 비교할 때 사용한다. 결과는 TRUE 또는 FALSE 둘 중의 하나이다.

 

  • 동등비교
> # 같다 
> 10 == 2
[1] FALSE
> c(1,3,5) == 3
[1] FALSE  TRUE FALSE
> c(1,3,5) == c(1,4,5)
[1]  TRUE FALSE  TRUE
> 
> # 같지않다 
> 10 != 2
[1] TRUE
> c(1,3,5) != 3
[1]  TRUE FALSE  TRUE
> c(1,3,5) != c(1,4,5)
[1] FALSE  TRUE FALSE

 

 

  • 크기비교
> # 크다 
> 10 > 2
[1] TRUE
> c(1,3,5) > 3
[1] FALSE FALSE  TRUE
> c(1,3,5) > c(6,4,5)
[1] FALSE FALSE FALSE
> 
> # 크거나같다 
> 10 >= 2
[1] TRUE
> c(1,3,5) >= 3
[1] FALSE  TRUE  TRUE
> c(1,3,5) >= c(6,4,5)
[1] FALSE FALSE  TRUE
> 
> # 작다 
> 10 < 2
[1] FALSE
> c(1,3,5) < 3
[1]  TRUE FALSE FALSE
> c(1,3,5) < c(6,4,5)
[1]  TRUE  TRUE FALSE
> 
> # 작거나같다 
> 10 <= 2
[1] FALSE
> c(1,3,5) <= 3
[1]  TRUE  TRUE FALSE
> c(1,3,5) <= c(6,4,5)
[1] TRUE TRUE TRUE

 

 

 

 ◎ 논리연산자

 

&& 두 명제의 AND
|| 두 명제의 OR
xor() 두 명제의 XOR
! 명제의 NOT

논리연산자는 두 명제의 and, or, not을 계산하여 TRUE 또는 FALSE를 반환한다.

&&와 ||는 단일값에 대한 연산만 가능하다. 벡터에 적용할 경우 첫번째 값의 결과만 반환한다.

 

> # and 
> 5>5 && 7==7
[1] FALSE
> c(F,T,T) && T
[1] FALSE
> c(T,F,T,F) && c(T,T,F,F)
[1] TRUE
> 
> # or 
> 5>5 || 7==7
[1] TRUE
> c(F,T,T) || T
[1] TRUE
> c(T,F,T,F) || c(T,T,F,F)
[1] TRUE
> 
> # xor 
> xor(TRUE, FALSE)
[1] TRUE
> xor(TRUE, TRUE)
[1] FALSE
> 
> # not 
> !(7==7)
[1] FALSE
> !(c(F,T,T))
[1]  TRUE FALSE FALSE

 

 

  •  벡터 논리연산
& 벡터의 AND
| 벡터의 OR

 

> # and 
> 5>5 & 7==7
[1] FALSE
> c(F,T,T) & T
[1] FALSE  TRUE  TRUE
> c(T,F,T,F) & c(T,T,F,F)
[1]  TRUE FALSE FALSE FALSE
> 
> # or 
> 5>5 | 7==7
[1] TRUE
> c(F,T,T) | T
[1] TRUE TRUE TRUE
> c(T,F,T,F) | c(T,T,F,F)
[1]  TRUE  TRUE  TRUE FALSE
> 
> # xor 
> xor(c(F,T,T), T)
[1]  TRUE FALSE FALSE
> xor(c(T,F,T,F), c(T,T,F,F))
[1] FALSE  TRUE  TRUE FALSE

 

 

 

 

 

<R 산술/관계/비교/논리연산자와 벡터연산>

반응형

댓글