English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Operaciones básicas de R

Este capítulo introduce operaciones simples del lenguaje R.

Asignación

La asignación en general de otros lenguajes es = El símbolo, pero el lenguaje R es un lenguaje matemático, por lo que el símbolo de asignación es muy similar al pseudocódigo en nuestros libros de matemáticas, que es una flecha hacia la izquierda <- :

a <- 123
b <- 456
print(a + b)

El resultado de la ejecución del código anterior es:

[1] 579

Este símbolo de asignación es una ventaja formal y una desventaja operativa del lenguaje R: formalmente es más adecuado para los matemáticos, ya que no todos los matemáticos están acostumbrados a usar = como símbolo de asignación.

En términos de operación, el símbolo < y - Los símbolos no son caracteres muy fáciles de escribir, lo que puede hacer que muchos programadores no se sientan cómodos. Por lo tanto, las versiones más recientes del lenguaje R también admiten = como operador de asignación:

a = 123
b = 456
print(a + b)

Esto también es un programa R válido.

Nota:Es difícil probar desde qué versión de R comenzó a soportar = La asignación, pero la versión de R que se utiliza en este tutorial es 4.0.0。

Operadores matemáticos

La tabla a continuación enumera los operadores matemáticos principales y su orden de operación:

PrioridadSímboloSignificado
1()Paréntesis
2^Operación de potencia
3%%Resto de la división entera
 %/%División entera
4*Multiplicación
 /División
5+Suma
 -Resta

El siguiente ejemplo muestra operaciones matemáticas simples:

> 1 + 2 * 3
[1] 7
> (1 + 2) * 3
[1] 9
> 3 / 4
[1] 0.75
> 3.4 - 1.2
[1] 2.2
> 1 - 4 * 0.5^3
[1] 0.5
> 8 / 3 %% 2
[1] 8
> 8 / 4 %% 2
[1Inf
> 3 %% 2^2
[1] 3
> 10 / 3 %/% 2
[1] 10

Operadores relacionales

La tabla a continuación muestra los operadores relacionales admitidos por el lenguaje R, que comparan dos vectores, comparan cada elemento del primer vector con cada elemento del segundo vector, y devuelven un valor booleano como resultado.

OperadorDescripción
>Determinar si cada elemento del primer vector es mayor que el elemento correspondiente del segundo vector.
<Determinar si cada elemento del primer vector es menor que el elemento correspondiente del segundo vector.
==Determinar si cada elemento del primer vector es igual al elemento correspondiente del segundo vector.
!=Determinar si cada elemento del primer vector es distinto del elemento correspondiente del segundo vector.
>=Determinar si cada elemento del primer vector es mayor o igual que el elemento correspondiente del segundo vector.
<=Determinar si cada elemento del primer vector es menor o igual que el elemento correspondiente del segundo vector.
v <- c(2,4,6,9)
t <- c(1,4,7,9)
print(v>t)
print(v < t)
print(v == t)
print(v!=t)
print(v>=t)
print(v<=t)

El resultado de ejecutar el código anterior es:

[1TRUE    FALSE    FALSE    FALSE
[1FALSE    FALSE    TRUE    FALSE
[1FALSE    TRUE    FALSE    TRUE
[1TRUE    FALSE    TRUE    FALSE
[1],     VERDADERO     VERDADERO FALSO     VERDADERO
[1FALSE    TRUE    TRUE    TRUE

Operadores lógicos

La tabla a continuación muestra los operadores lógicos admitidos por el lenguaje R, que se pueden usar para vectores de números, lógicos y números complejos.

mayor que 1 de los números son TRUE.

Operadores lógicos que comparan dos vectores, comparan cada elemento del primer vector con cada elemento del segundo vector, y devuelven un valor booleano como resultado.

OperadorDescripción
&Operador lógico lógico de elementos, combina cada elemento del primer vector con el elemento correspondiente del segundo vector, si ambos elementos son TRUE, el resultado es TRUE, de lo contrario es FALSE.
Operador lógico lógico de elementos, combina cada elemento del primer vector con el elemento correspondiente del segundo vector, si uno de los dos elementos es TRUE, el resultado es TRUE, y si ambos son FALSE, devuelve FALSE.
!Operador lógico no, devuelve el valor lógico inverso de cada elemento del vector, si el elemento es TRUE, devuelve FALSE, y si es FALSE, devuelve TRUE.
&&Los operadores lógicos, solo realizan el juicio del primer elemento de dos vectores, si ambos elementos son TRUE, el resultado es TRUE, de lo contrario es FALSE.
||Operador lógico OR, solo compara el primer elemento de dos vectores, si al menos uno de los elementos es TRUE, el resultado es TRUE, si ambos son FALSE, el resultado es FALSE.
v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSO,2+3i)
print(v&t)
print(v|t)
print(!v)
# &&, || solo comparan el primer elemento
v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)
v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)

El resultado de ejecutar el código anterior es:

[1],     VERDADERO     VERDADERO FALSO     VERDADERO
[1], VERDADERO VERDADERO VERDADERO VERDADERO
[1], FALSO FALSO FALSO FALSO
[1], VERDADERO
[1], FALSO

Operadores de asignación

Las variables de R pueden usar operadores de izquierda, derecha o igual para asignar valores.

La siguiente tabla enumera los operadores de asignación admitidos por R.

OperadorDescripción

<−

=

<<−

Asignación a la izquierda.

−>

−>>

Asignación a la derecha.
# Asignación a la izquierda
v1 <- c(3,1,TRUE,"w3codebox)
v2 <<- c(3,1,TRUE,"w3codebox)
v3 = c(3,1,TRUE,"w3codebox)
print(v1)
print(v2)
print(v3)
# Asignación a la derecha
c(3,1,TRUE,"w3codebox) -> v1
c(3,1,TRUE,"w3codebox) ->> v2 
print(v1)
print(v2)

El resultado de ejecutar el código anterior es:

[1]3"                  "1"                   "TRUE"           "w3codebox"
[1]3"                  "1"                   "TRUE"           "w3codebox"
[1]3"                  "1"                   "TRUE"           "w3codebox"
[1]3"                  "1"                   "TRUE"           "w3codebox"
[1]3"                  "1"                   "TRUE"           "w3codebox"

Otros operadores

R también incluye algunos operadores especiales.

OperadorDescripción
:Operador de dos puntos, se utiliza para crear una serie de números en un vector.
%in%Se utiliza para determinar si un elemento está en el vector, devolviendo un valor booleano, TRUE si está, FALSE si no.
%*%Se utiliza para multiplicar una matriz con su matriz transpuesta.
# 1 hasta 10 el vector
v <- 1:10
print(v) 
# Comprobar si un número está en el vector v
v1 <- 3
v2 <- 15
print(v1 %in% v) 
print(v2 %in% v) 
# Multiplicación de una matriz con su matriz transpuesta
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = VERDADERO)
t = M %*% t(M)
print(t)

El resultado de ejecutar el código anterior es:

[1]  1  2  3  4  5  6  7  8  9 10
[1], VERDADERO
[1], FALSO
     ,]1],2]
[1,]   65   82
[2,]   82  117

Funciones matemáticas

Algunas funciones matemáticas comunes son:

FunciónExplicación
sqrt(n)la raíz cuadrada de n
exp(n)el exponente n de la constante natural e,
log(m,n)la función logarítmica de m, que devuelve el exponente de n que es igual a m
log10(m)equivalente a log(m,10)

A continuación se muestra un ejemplo de la aplicación de las funciones matemáticas:

> sqrt(4)
[1] 2
> exp(1)
[1] 2.718282
> exp(2)
[1] 7.389056
> log(2,4)
[1] 0.5
> log10(10000)
[1] 4

Funciones de redondeo:

NombreModelo de parámetrosSignificado
round(n)Redondear a entero de n
 (n, m)Redondear a m decimales de n
ceiling(n)Redondear hacia arriba de n
floor(n)Redondear hacia abajo de n

)

> round(1.5)
[1] 2
> round(2.5)
[1] 2
> round(3.5)
[1] 4
> round(4.5)
[1] 4

Atención: La función round de R puede "descartar el cinco" en algunos casos.

Cuando el número entero es par, el cinco también se descarta, lo que es diferente de C.

Las funciones trigonométricas de R son en sistema de radianes:

> sin(pi/6)
[1] 0.5
> cos(pi/4)
[1] 0.7071068
> tan(pi/3)
[1] 1.732051

Funciones trigonométricas inversas:

> asin(0.5)
[1] 0.5235988
> acos(0.7071068)
[1] 0.7853981
> atan(1.732051)
[1] 1.047198

Si ha estudiado teoría de probabilidad y estadística, debe estar familiarizado con las siguientes funciones de distribución de probabilidad, porque R está diseñado para matemáticos, por lo que se utiliza con frecuencia:

> dnorm(0)
[1] 0.3989423
> pnorm(0)
[1] 0.5
> qnorm(0.95)
[1] 1.644854
> rnorm(3, 5, 2) # Generar 3 con un valor medio de 5con desviación estándar 2 números aleatorios normales
[1] 4.177589 6.413927 4.206032

Estas cuatro se utilizan para calcular distribuciones normales. Sus nombres terminan en norm, lo que representa "distribución normal".

Hay cuatro prefijos de nombres de funciones de distribución:

  • d - Función de densidad de probabilidad

  • p - Función de integral de densidad de probabilidad (integral desde infinitesimal hasta x)

  • q - Funciones de cuantiles

  • r - Funciones de números aleatorios (usadas a menudo en simulaciones de probabilidad)

NotaDebido a que este tutorial no es un tutorial que explica teorías matemáticas especializadas, no se hace una explicación detallada de las teorías matemáticas de distribución de probabilidad. Además de la función de distribución normal, R también contiene funciones de distribución comunes como Poisson (pois, Poisson). Si desea obtener información más detallada, puede aprender "Teoría de probabilidad y estadística matemática".