2014년 5월 28일 수요일

[Using R] Operator Syntax and Precedence

Ref. Paul Teetor의 R Cookbook. Copyright 2011 Paul Teetor, ISBN : 9780596809157


연산자에 대한 우선순위를 잘못쓰는 경우는 정말 자주 발생을 하게 된다. 내 스스로가 프로그래밍을 하면서도 많이 격게되는 실수도 아주 지극히 사소한 부분에서 발생 하는 경우가 많은 것은 동일 선상에 있는 경우와 같다. 사소한 부분을 챙기는 것이 기초가 된다는걸 누구보다 공감한다.

#아래와 같은 예제를 보자
> 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)

댓글 없음:

댓글 쓰기

 다양한 채널의  블로그 작성으로  집중이 좀 안되기도 하고  나의 회사를 운영하고 관리 하다 보니  회사의 블로그로 작성 해보는 것은 어떤가 하고  하나로 옮겨 봅니다.  (주)다이닝웨이브 - 블로그 바로가기