수색…


비고

R에있는 거의 모든 연산자는 실제로 함수입니다. 예를 들어, +function (e1, e2) .Primitive("+") 으로 정의 된 function (e1, e2) .Primitive("+") 여기서 e1은 연산자의 왼쪽이고 e2는 연산자의 오른쪽입니다. 즉, 사용자 정의 함수로 밑줄을 + 로 마스킹함으로써 다소 직관적 인 효과를 달성 할 수 있습니다.

예 :

`+` <- function(e1, e2) {e1-e2}

> 3+10
[1] -7

범위 및 추가

범위에 값을 추가하는 예를 들어 봅시다 (예를 들어 루프에서 수행 할 수있는 것처럼).

3+1:5

제공 :

[1] 4 5 6 7 8

범위 연산자 때문이다 : 가산 연산자보다 우선 순위 갖는다 + .

평가 중 발생하는 상황은 다음과 같습니다.

  • 3+1:5
  • 3+c(1, 2, 3, 4, 5) 범위 연산자를 확장하여 정수 벡터를 만듭니다.
  • c(4, 5, 6, 7, 8) 벡터의 각 구성원에 3을 더합니다.

당신은 당신이 함께 작업 주문하는 방법은 R 인터프리터를 얘기해야이 문제를 방지하려면 ( ) 같은를 :

  (3+1):5

이제 R은 범위를 확장하기 전에 괄호 안에있는 것을 계산하고 다음을 제공합니다.

 [1] 4 5

더하기 및 빼기

기본 수학 연산은 주로 숫자 또는 벡터 (숫자 목록)에서 수행됩니다.

1. 단일 번호 사용

우리는 간단한와 연결 숫자를 입력 할 수있는 + 추가하고 위해 - 감산 :

> 3 + 4.5
# [1] 7.5
> 3 + 4.5 + 2
# [1] 9.5
> 3 + 4.5 + 2 - 3.8
# [1] 5.7
> 3 + NA
#[1] NA
> NA + NA
#[1] NA
> NA - NA
#[1] NA
> NaN - NA
#[1] NaN
> NaN + NA
#[1] NaN

변수 (이 경우 상수)에 숫자를 할당하고 동일한 연산을 수행 할 수 있습니다.

> a <- 3; B <- 4.5; cc <- 2; Dd <- 3.8 ;na<-NA;nan<-NaN
> a + B
# [1] 7.5
> a + B + cc
# [1] 9.5
> a + B + cc - Dd
# [1] 5.7
> B-nan
#[1] NaN
> a+na-na
#[1] NA
> a + na
#[1] NA
> B-nan
#[1] NaN
> a+na-na
#[1] NA

2. 벡터 사용하기

이 경우 우리는 수의 벡터를 만들고 그 벡터를 사용하거나 하나의 숫자로 조합하여 연산을 수행합니다. 이 경우 연산은 벡터의 각 요소를 고려하여 수행됩니다.

> A <- c(3, 4.5, 2, -3.8);
> A
# [1]  3.0  4.5  2.0 -3.8
> A + 2 # Adding a number 
# [1]  5.0  6.5  4.0 -1.8
> 8 - A # number less vector
# [1]  5.0  3.5  6.0 11.8
> n <- length(A) #number of elements of vector A
> n
# [1] 4
> A[-n] + A[n] # Add the last element to the same vector without the last element
# [1] -0.8  0.7 -1.8
> A[1:2] + 3 # vector with the first two elements plus a number
# [1] 6.0 7.5
> A[1:2] - A[3:4] # vector with the first two elements less the vector with elements 3 and 4
# [1] 1.0 8.3

함수 sum 을 사용하여 벡터의 모든 요소를 ​​추가 할 수도 있습니다.

> sum(A)
# [1] 5.7
> sum(-A)
# [1] -5.7
> sum(A[-n]) + A[n]
# [1] 5.7

벡터의 길이가 다른 수학 연산을 할 때 일어나는 동작 인 R 의 특성 중 하나 인 재활용에 주의해야합니다. 표현식의 더 짧은 벡터는 가장 긴 벡터의 길이와 일치 할 때까지 (아마 부분적으로) 필요할 때마다 자주 재활용됩니다. 특히 상수는 단순히 반복 됩니다. 이 경우 경고가 표시됩니다.

> B <- c(3, 5, -3, 2.7, 1.8)
> B
# [1]  3.0  5.0 -3.0  2.7  1.8
> A
# [1]  3.0  4.5  2.0 -3.8
> A + B # the first element of A is repeated
# [1]  6.0  9.5 -1.0 -1.1  4.8
Warning message:
In A + B : longer object length is not a multiple of shorter object length
> B - A # the first element of A is repeated
# [1]  0.0  0.5 -5.0  6.5 -1.2
Warning message:
In B - A : longer object length is not a multiple of shorter object length

이 경우 올바른 절차는 짧은 벡터의 요소 만 고려하는 것입니다.

> B[1:n] + A
# [1]  6.0  9.5 -1.0 -1.1
> B[1:n] - A
# [1]  0.0  0.5 -5.0  6.5

sum 함수를 사용할 때 함수 내의 모든 요소가 다시 추가됩니다.

> sum(A, B)
# [1] 15.2
> sum(A, -B)
# [1] -3.8
> sum(A)+sum(B)
# [1] 15.2
> sum(A)-sum(B)
# [1] -3.8


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow