연산자에 대한 우선순위를 잘못쓰는 경우는 정말 자주 발생을 하게 된다. 내 스스로가 프로그래밍을 하면서도 많이 격게되는 실수도 아주 지극히 사소한 부분에서 발생 하는 경우가 많은 것은 동일 선상에 있는 경우와 같다. 사소한 부분을 챙기는 것이 기초가 된다는걸 누구보다 공감한다.
#아래와 같은 예제를 보자
> n <- 10
# 0 에서 부터 n-1 = 9 까지 숫자를 생성할 것이라 생각했다면? 오류다.
> 0:n-1
[1] -1 0 1 2 3 4 5 6 7 8 9
R은 주어진 식을 ( 0 : n ) - 1 로 인식하기 때문이다.
R은 또한 %...% 기호사이의 문자를 이항연산자로 해석한다.
1) %% - 나머지 연산자
2) %/% - 정수나눗셈 (나머지를 버리고 몫만 취하는 나눗셈
3) %*% - 행렬곱셈
4) %in% - 왼쪽 피연산자가 오른쪽 피연산자에 나타나면 TRUE를 반환
Web Site Ref --> http://stat.ethz.ch/R-manual/R-patched/library/base/html/Syntax.html
The following unary and binary operators are defined.
They are listed in precedence groups, from highest to lowest.
:: ::: | access variables in a namespace |
$ @ | component / slot extraction |
[ [[ | indexing |
^ | exponentiation (right to left) |
- + | unary minus and plus |
: | sequence operator |
%any% | special operators (including %% and %/% ) |
* / | multiply, divide |
+ - | (binary) add, subtract |
< > <= >= == != | ordering and comparison |
! | negation |
& && | and |
| || | or |
~ | as in formulae |
-> ->> | rightwards assignment |
<- <<- | assignment (right to left) |
= | assignment (right to left) |
? | help (unary and binary) |
댓글 없음:
댓글 쓰기