Está en la página 1de 8

1

El maravilloso mundo de R
Blat Catalina*, Keen Luana**, Perelli Juan Pablo***, Tedesco Martina Paz****
Universidad Tecnológica Nacional, Regional Buenos Aires

Resumen- Este paper está orientado al aporte de R es un lenguaje de programación


información sobre el lenguaje de programación en R, interpretado, de distribución libre, bajo Licencia
a su vez entendido como un software libre, flexible y
GNU (General
dinámico, con una amplia variedad de funciones para
análisis estadísticos y gráficos. Se presenta una Public Licence), que deriva del lenguaje
revisión de las principales características acerca de su de programación S y se mantiene en un ambiente
sintaxis, así como también las ventajas de su uso. Se para el c mputo estad stico y gr co. Este software
muestra la utilidad de esta herramienta por medio de corre en distintas plataformas Linux, Windows,
ejemplos, y finalmente se llega al por qué este MacOS, e incluso en PlayStation. Además, R
lenguaje es tan interesante en el ámbito de la
dispone de funciones básicas relacionadas con los
programación.
Palabras claves: R, software, lenguaje de análisis descriptivos de datos, y de los modelos más
programación, análisis estadísticos. complejos y actuales concernientes con los últimos
avances en el campo de la estadística, la
I. INTRODUCCIÓN psicometría, la econometría o el análisis de datos
en áreas como la psicología, economía, sociología,
En el último tiempo ha existido un avance estadística, biología, enfermería, farmacia,
en cuanto a las ciencias de la tecnología, difícil de medicina o informática.
frenar. Tal es el caso que ha impactado Este trabajo tiene como objetivo principal
enormemente en el desarrollo de las ciencias de la informar y estimular el uso de R a partir de la
computación. Es por ello que se está buscando descripción de sus ventajas y desventajas, así como
orientar lo computacional hacia el uso de métodos también del aporte de información obtenida de
basados en el uso intensivo de complejos cálculos diversos textos y plataformas acerca del paradigma
numéricos y en los lenguajes más apropiados para de programación, sintaxis del lenguaje y ejemplos
el desarrollo de procesos algorítmicos. del uso de R.
Por consecuencia, se ha buscado
lenguajes clásicos de programación con librerías A. Historia
numéricas que faciliten el desarrollo de algoritmos
numéricos complejos y la construcción de gráficos. R fue creado en 1992 en Nueva Zelanda
Algunos de los entornos utilizados para lograr esto por Ross Ihaka y Robert Gentleman.
están basados en el desarrollo de ambientes La intención inicial con R, era hacer un
especializados en tareas específicas que incluyen su lenguaje didáctico, para ser utilizado en el curso de
propio lenguaje. Dentro de este grupo se encuentra Introducción a la Estadística de la Universidad de
R. Nueva Zelanda. Para ello decidieron adoptar la
sintaxis del lenguaje S desarrollado por Bell
2

Laboratories. Como consecuencia, la sintaxis es ejecutar el programa como desee y con cualquier
similar al lenguaje S o bien a la de C y C++, propósito; de estudiar el funcionamiento del
mientras que la semántica es ligeramente distinta programa y adaptarlo a sus necesidades; de
ya que sigue los paradigmas de la programación rescribir copias para ayudar a los demás; manejar el
funcional y la programación orientada a objetos, tal programa y publicar las mejorar, de manera que
como lo hacen lenguajes como LISP y Scheme. toda comunidad se beneficie.
Esto último implica que el lenguaje tiene la Es multiplataforma, ya que
capacidad de manipular directamente los objetos se funciona con diferentes tipos de hardware y
del lenguaje, aplicar reglas de sustitución y evaluar software.
expresiones. Es un código abierto, lo cual
Por un lado, S es un lenguaje que fue permite que cuente con un gran número de
desarrollado por John Chambers y colaboradores en repositorios en GitHub (una página mundial de
Laboratorios Bell (AT&T), actualmente Lucent desarrollo colaborativo). Esto a su vez permite que
Tecnologies, en 1976. Por ra one de e ciencia, en se encuentre en constante actualización.
1988 S fue reescrito en lenguaje C, dando origen al Proporciona una amplia gama de
sistema estadístico S. En 2004 Insghtful decide herramientas estadísticas.
comprar el lenguaje a Lucent y desde entonces, Puede manejar grandes
Insightful vende su implementación del lenguaje S volúmenes de datos.
bajo el nombre de S-PLUS, donde le añade un Funciona mediante comandos.
ambien e gr co. Finalmen e, en 2008 TIBCO Dispone de gráficos de alta
compra Insightful. calidad.
Por otro lado, en cuanto a R se sabe que el Sin embargo, también puede considerarse
lanzamiento del software se produjo un año que los mensajes de error que el programa nos
después de su creación y en 1997 comienza a muestra no son en su totalidad muy claros y solo
formar parte del proyecto de GNU. Este se trata de alguien con experiencia podría entenderlo mejor.
una licencia creada por Free Software Foundation Además es un lenguaje de programación lento y es
(Fundación para el software libre) una organización una herramienta ineficiente para proyectos
fundada por Richard Matthew Stallman en el año machine-learning.
1985 y cuyo principal propósito es declarar la
libertad del uso, modificación y distribución del C. Obtener e instalar R
software y protegerlo de intentos de privatización
que puedan de algún modo restringir su uso. Para instalar el software de R, hay que
Gracias a esto es que puede descargarse de Internet seguir los siguientes pasos:
ya sea como código fuente o como distribuciones 1) Visitar la página oficial del R
que corren en Linux, Windows, MacOS e inclusive (https://www.r-project.org/)desde donde se
se encuentra disponible para PlayStation. Ese descargará el archivo de instalación.
mismo año debieron crear dos listas de correos con 2) Clicar Download CRAN y
el propósito de crear algún tipo de soporte para el seleccionar el servidor 0-Cloud.
lenguaje: 3) Seleccionar el sistema operativo
R-help y R-devel, que son las que deseado: Linux, Mac OS X, Windows.
actualmente funcionan para responder las diversas 4) Se accede a una pantalla en la
dudas que los usuarios proponen en muy diversos que se seleccionarse la opción base.
asuntos relativos al lenguaje. Además, se consolida 5) Se selecciona la descarga del
el grupo núcleo de R, donde se involucran personas fichero
asociadas con S-PLUS, con la nalidad de 6) Se accede a la carpeta de
administrar el código fuente de R. Recién el 29 de descargas y luego se ejecuta el fichero de
febrero del 2000, considerado como un software instalación.
completo y estable. Una vez instalado, cada vez que se desee
ejecutar R, emerge sobre la pantalla la consola de
B. Ventajas y desventajas sobre su uso R, en donde puede comprobarse la versión
instalada, y donde se muestra en color rojo el
Los motivos por los cuales R se ha símbolo del sistema o prompt (>), que indica que R
convertido en una opción muy interesante para está listo para recibir comandos.
gestionar grandes volúmenes de datos estadísticos
son:
Es un software que cuenta con la
licencia de GNU, lo cual implica libertad de
3

II. ENTORNO DE PROGRMACIÓN Y SU la de utilización como herramienta de cálculo


LENGUAJE
numérico.
Por lo tanto, R proporciona una variedad
A. Paradigma de herramientas estadísticas con capacidad de
exploración y explotación de la información de
Un paradigma de programación indica un diferentes fuentes, de todo tipo de análisis
método de realizar cómputos y la manera en que se computacional y gráficas muy potentes.
debe estructurar y organizar las tareas que debe
llevar a cabo un programa. Los paradigmas suelen C. Sintaxis
estar relacionados con modelos de cómputos y
estilos de programación, y los lenguajes suelen La sintaxis en R es muy similar a la de
implementar varios de estos paradigmas. otros lenguajes de programación como JAVA o C.
En el caso de R, este es un lenguaje Las normas básicas que definen la sintaxis de R
orientado a objetos, esto se refiere a que las son:
variables, datos, funciones, resultados, etc. se
No se tienen en cuenta los
guardan en la memoria de la computadora en forma
espacios en blancos: podemos o no dejar espacios
de objetos que pueden ser manipulados (con
para que el código se puede ordenar de forma
operadores y funciones) y reutilizados, lo cual
adecuada y poder entenderse.
genera grandes ventajas a la hora de realizar un
programa con funciones o datos antiguos ya que da Se distinguen las mayúsculas y
rapidez al desarrollo. En contrapartida el uso de minúsculas
bibliotecas requiere un tiempo de aprendizaje y Se pueden incluir comentarios.
asimilación, genera lenta ejecución del programa y
No es necesario terminar cada
lo vuelve pesado a medida que se guarden más y sentencia con el carácter de punto y coma (;)
más objetos en las bibliotecas.
Este paradigma, si bien es el más
1. Objetos
importante, no es el único paradigma utilizado en
Como ya se ha mencionado, R es un
R, ya que también se utiliza el paradigma
lenguaje orientado a objetos, tal que los tipos de
funcional, que se basa en un conjunto de funciones
datos más básicos, tales como: booleanos, enteros,
que pueden ser evaluadas para obtener un
reales, caracteres, vectores, matrices, listas y hojas
resultado. La gran característica de los paradigmas
de datos son objetos mismos. Un objeto puede ser
imperativos (como el funcional en este caso) es que
creado con el operador assignar el c al se denota
permite centrarse en que se está realizando sin
como una flecha con el signo menos y el símbolo
buscar el cómo, es decir, si se necesita alguna
> o < dependiendo de la direcci n en q e
operación, se utiliza una función y no se tiene que
asigna el objeto. Si el objeto ya existe, su valor
pensar qué debo hacer para obtener ese resultado.
anterior es borrado después de la asignación.
Por último, encontramos la programación
Al ser los tipos de datos más básicos
estructural, que se basa en 3 estructuras básicas:
considerados como objetos, el usuario tiene
secuencia (operaciones sucesivas), selección
permitido interactuar de forma transparente, ya que
(condicionales) e iteración (ciclos repetitivos). Esto
las llamadas se realizan a funciones genéricas,
permite realizar programas simples y fáciles de
como print, summary o plot, las cuales determinan
comprender sin tener que usar funciones Goto y
internamente que método debe ser utilizado
además e itando los programas espag eti donde
dependiendo de la clase de objetos a las que
si no hay una clara noción sobre cuáles líneas están
pertenecen sus argumentos. Además de tener
conectadas, se genera un gran problema en la
funciones propias, se caracteriza por permitirle al
búsqueda de orden.
usuario crear funciones matemáticas y estadísticas
de una forma sencilla siguiendo el siguiente
B. Aplicaciones del lenguaje
formato:
R es un lenguaje que permite al usuario nombre_de_la_función <-
analizar cualquier clase de datos, sin importar el function(Argumento1,
tamaño, Utiliza herramientas de modelado Argumento2,...) {
estadístico de alto rendimiento para tareas con
grandes conjuntos de datos y métodos modernos ... código del programa....
para analizar datos con valores perdidos y valores
atípicos. Es así uno de los lenguajes más utilizados return(resultado)
en la investigación científica }
Entre otras capacidades de R, se
encuentran las de realizar gráficos de alta calidad y Resulta importante mencionar la
existencia de algunas funciones básicas
4

relacionadas a la creación, listado y remoción de Generación de vectores: Utilizando la


objetos. Entre estas nos encontramos con: opción : (que su ubica entre dos números a:b) se
Función rnorm: genera un dato al azar genera un vector que comienza en el primer
muestrado de una distribucion normal con media ´ número suministrado (que está a la izquierda) y
0 y varianza 1. finaliza en el segundo número dado, o en un
Funcion ls: lista los objetos en memoria: número anterior sin sobrepasarlo (al que está en la
solo se muestran los nombres de los ´ mismos. derecha), y de manera que entre una componente y
Función ls.str(): muestra algunos detalles la siguiente haya una diferencia de uno; por tanto
de los objetos en memoria. las componentes crecen si a es menor que b, y
Función rm(): la cual borrar objetos en decrecen si a es mayor que b. Por ejemplo: si
memoria. a 1:10 b d c 123456
7 8 9 10 . A , a c crea
2. Ayuda en línea da a c d c ca ac c( ) . P
R proporciona información muy útil de : c(1:5,-2,4,3) a a a a
cómo utilizar las funciones. La ayuda se encuentra c 1 2 3 4 5 -2 4 3 . Ha a b a a
disponible directamente para una función dada. de generar vectores; una de las más comunes es
Para solicitar la ayuda es necesario recurrir a: a d a c (a,b,c) , que genera
La función help (ayuda): Es equivalente secuencias de números reales, donde la primera
a c a ( c ) a b ? c . componente indicará el principio de la secuencia, la
Variantes: Existen otras dos funciones de segunda el final y la tercera el incremento que se
búsqueda help.search() y apropos(), que pueden ser debe usar para generar la secuencia. Aunque
útiles cuando se desea encontrar información sobre también se puede poner la función en estas formas:
un procedi d d ad seq(length=d; f =a; =b) (b =c; =a;
ab ac a d d función localizar. =b) d d a dd c .P
Por ejemplo: supongamos que se quiere obtener : (1,10,2) c 1357
información sobre el análisis fact a ac 9 .Ob ( =1, =10,b =2) a
a a ; A través de la barra de menús se mismo ejemplo.
selecciona a opción A da > B ca A da... La c (a; b) c a c
c a d c b c b c d c a a a .P
desea buscar. Se puede obtener la misma : (3,5) 33333 .
información tecleando directamente sobre la Un vector siempre está formado por
consola lo s : . a c ( ac a a ). elementos del mismo tipo, no pueden mezclarse
La función´ apropos encuentra todas números y cadenas de caracteres (se transformará
aquellas funciones cuyo nombre contiene la palabra en cadenas de caracteres). Del mismo modo, si las
dada como argumento para los paquetes cargados componentes tienen números reales y complejos, se
en memoria. entenderán todos como complejos. En R podemos
3. Operadores asignar nombres a los elementos de un vector
Tabla 1 da a c a ( a b
Tipos de operadores puede utilizar para nombrar cualquier objeto).
Arimétricos Comparativos Lógicos También podemos conocer o cambiar el
modo o tipo de los elementos que forman el vector
< menor que ! x NO lógico da a c d ( a a a :
+ adición logical, numeric, complex, character, null, list,
> mayor que x & y Y lógico function, graphics, expression, name, frame, raw y
- sustracción unknown).
x && y id. Dentro de las operaciones que se pueden
* multiplicación <= menor o realizar con R están las de multiplicar vectores por
igual que escalares, vectores por vectores, potencias, sumas,
>= mayor o x | y O lógico etc, teniendo en cuenta el uso del paréntesis y el
/ división igual que número de componentes del vector.
== igual x || y id. La longitud de un vector puede obtenerse
ca c a c que sirve además para
!= diferente de xor(x, y) O definir la longitud del vector, haciéndolo más largo
% % módulo exclusivo o más corto; en caso de hacerlo más largo, se
completará con NA (valores faltantes).
Funciones de vectores: podemos
%/ % división referirnos a la componente que ocupa la posición
de enteros d c , da [] a
ciertas componentes dadas por medio del
4. Vectores respectivo vector de subíndices. Algunas son:
5

matri (1,2,3) genera una matri de unos de dos


filas y tres columnas.
Tabla 2 Si se quiere dar nombres a las columnas (o
Funciones con vectores a las filas) puede hacerse asignando valores al
Función Descripción par metro dimnames , lista con los nombres de
las filas y las columnas. Las componentes de la
mean(x) Media arimétrica de los valores lista deben tener longitud 0 o ser un vector de
cadenas de caracteres con la misma longitud que la
median(x) Mediana de los valores dimensión de la matriz.
sum(x) Suma de los valores del vector x Operaciones con matrices: una
operación muy común es hacer referencia a una
max(x) Máximo valor submatriz o a un elemento de la matriz, se realiza
indicando los índices de los elementos a los que se
min(x) Mínimo valor
hace referencia. Podemos hacer referencia a una
range(x) Rango de los valores fila (vector) mediante matriz [i; ], con i el índice de
la fila que queremos mostrar, o a una columna
var(x) Cuasivarianza de los valores mediante matriz[ ; j] con j el índice de la columna
que queremos mostrar. Si se quiere mostrar una
cov(x) Covarianza de los valores
componente concreta indicamos los dos índices
cor(x,y) Coeficiente correlación entre los correspondientes: matriz [i; j].
vectores x e y Por ejemplo: matriz [2; 1], da el valor de
la segunda fila y primera columna.
sort(x) Una versión ordenada de x Un argumento útil en estas operaciones es
la ariable l gica b ro que indica si la matri
order(x) Indica proposición que tendrían los
debe construirse por filas o por columnas (el valor
valores ordenados de x
predeterminado es F).
quantile(x) Mínimo, primer cuartil, mediana, Se puede realizar operaciones con
tercer cuartil, máximo de x matrices de la misma forma que con los vectores,
es decir componente a componente: suma, resta,
cumsum(x) Vector formado por la frecuencia multiplicación por escalares, multiplicación
acumulada del vector x elemento a elemento, división elemento a elemento,
cumprod(x) Vector formado por el producto exponenciación, que se realizan mediante los
símbolos: +, - , * , =; ^. También es posible realizar
acumulado del vector x
el producto matricial mediante el operador % *
cummax(x) Vector de x tal que cada valor % .
menor se sustituye por el anterior Tabla 3
Funciones de matrices
cummin(x) Vector de x tal que cada valor Función Descripción
mayor se sustituye por el anterior
crosspod() Devuelve el producto matricial
pmax(x,y,z) Vector con longitud la más larga cruzado de dos matrices
de x, y o z, con los valores rbind() Une dos matrices por filas
máximos de cada posición cbind() Une dos matrices por columnas
t() Calcula la matriz traspuesta
pmin(x,y,z) Vector con longitud la más larga diag() Para extraer o modificar la diagonal
de x, y o z, con los valores de una matriz, o bien construir una
mínimos de cada posición solve() Invierte una matriz(si se le da un
argumento) y resuelve sistemas
lineales de ecuaciones
5. Matrices eigen() Calculas los autovalores y
Generación de matrices: Las matrices o autovectores
variables indexadas (Arrays) son generalizaciones det() Calcula el determinante de una
multidimensionales de vectores. matriz
De hecho, son vectores indexados por dos
o más índices y que se imprimen de modo especial.
Para crearlas utili amos la funci n matri .
Los parámetros principales de esta función 6. Arrays (variables multiindexadas)
La generalización de los vectores y
son: data (vector que contiene los valores que
matrices son las variables multiindexadas,
formarán la matriz), nrow (número de filas), ncol
(n mero de columnas). Por ejemplo: m1<- denominadas arrays, y de las cuales son casos
particulares los vectores y matrices. Una variable
indexada (array) es una colección de datos, por
6

ejemplo numéricos, indexados por varios índices. R abline() Añade una recta de pendiente e
permite crear y manipular variables indexadas, por intersección dada
ejemplo para crear una variable multiindexada se curve() Representa una función dada
ili a la f ci a a (da a, di , di a e )
d de di e ec de di e i e . Ta bi
es posible hacer referencia a sus subconjuntos, al D. Sentencias
igual que con las matrices. Array se comporta igual
que matrix y puede tener más dimensiones (por Las principales estructuras que permiten el
ejemplo ser de orden 2x3x3 control de flujo son básicamente IF, FOR, WHILE
Y REPEAT.
7. Hoja de datos (data.frame)
Una hoja de datos (Data frame) es una 1. Estructuras condicionales
li a e e e ece a la cla e da a.f a e . Ha
restricciones en las listas que pueden pertenecer a a) El comando IF permite controlar
esta clase, en particular: las componentes deben ser las ejecuciones que estarán condicionadas al
vectores (numéricos, cadenas de caracteres, o cumplimiento de determinada condición y se utiliza
lógicos), factores, matrices numéricas, listas u otras dentro de funciones determinadas por el usuario.
hojas de datos. Las matrices, listas, y hojas de datos Sin embargo, la estructura más utilizada
contribuyen a la nueva hoja de datos con tantas de este comando en R es, IF-ELSE.
variables como columnas, elementos o variables En el primer caso la sintaxis general es:
posean, respectivamente. if (<condición>) {acción1} else
{acción2};
8. Listas
U a li a e c e c la f ci li y en el segundo es:
que devuelve un objeto de tipo lista con tantos
if(<condición>) {bloque de código}
componentes como argumentos se le suministren y
else {otro bloque de código}
es utilizado para devolver el resultado de una
función. Vale mencionar que se puede usar la
estructura IF-ELSE en forma más comprimida
9. Gráficos mediante la función IFELSE:
Tabla 4
Funciones básicas # ifelse(condición, TRUE, FALSE)
Función Descripción
ifelse(runif (1) > 0.5, "A", "B")
abline() Añade una o más líneas rectas
plot() Representar en el plano x-y,
puntos, líneas, etc b) Puede considerarse una tercera
barplot() Diagramas de barras estructura, conocida como SWITCH, un comando
que permite un bloque de código distinto en
pie() Diagramas de sectores función del valor de una variable. Se expresa de la
hist() histogramas siguiente manera:
boxplot() Diagramas de box-and-whisker switch(<EXPR>,
stripplot() Similar a boxplot() con puntos <valor_1> {código},
sunflowerplot() Represneta en el plano x-y de ...
diagramas de girasol
oqnor() Diagramas e cuartil a cuartil <valor_n> {código})
frente a la distribución normal
Qoplot() Diagramas e cuartil a cuartil de 2. Estructuras de repetición
dos muestras
oqline() Representa la línea qiue pasa a) Los bucles FOR son el tipo de
por el primer y tercer cuartil bucle más utilizado en R. Estos toman una variable
lines() Añade líneas a un gráfico a la que se le asignan los elementos de un objeto
(en general, vectores o listas) en forma sucesiva a
points() Añade puntos a un gráfico medida que se van recorriendo los ciclos. La
segments() Añade segmentos a un gráfico sintaxis es la siguiente:
arrows() Añade flechas a un gráfico for(<variable> in <objeto
iterable>) {
polygons() Añade polígonos a un gráfico
rect() Añade rectángulos a un gráfico código
...
7

} count <- count + 1


Si se desea recorrer los elementos de un if(count == 10) break
objeto podemos realizarlo directamente, o por su
índice acompañado de la función seq_along(x), la }
cual genera una secuencia numérica para indica los Además de la función BREAK (usada
índices de los elementos de los objetos que se para detener un bucle y salir de él inmediatamente),
quieren recorrer. Para hacer esto se debe crear un existe otras 2 instrucciones que permiten
vector sobre el cual se interará. interrumpir el flujo normal de los ciclos. Estas se
x <- c ("a", "b", "c", "d") denominan NEXT y RETURN.
seq_along(x) La función NEXT es utilizada para
terminar un ciclo del bucle en ejecución y pasar al
[1] 1 2 3 4 siguiente. Por ejemplo, si estamos dentro de un
bucle FOR lo que sucedería al momento de ejecutar
Para interar accediendo a los elementos la función NEXT es que se salta directo al siguiente
por su índice se plantea: elemento. Mientras tanto la instrucción RETURN
for (i in seq_along(x)) { está asociada con las funciones y su propósito es
print(x[i]) interrumpir u obligar la salida de la función en la
} cual se invoca, entregando, opcionalmente, como
[1] "a" resultado de la función un valor si se da como
[1] "b" argumento del return. la salida de ciclo no es
[1] "c" exactamente afuera de él, sino afuera de la
[1] "d" ejecución de la función.

Otra forma de hacerlo es accediendo de III. EJEMPLOS CARACTERISTICOS


forma directa:
for (letra in x) { IV. CONCLUSIÓN
print(letra)
Podemos afirmar , tal y como se ve sin
}
conocer a fondo el lenguaje, que R se utiliza
[1] "a"
[1] "b" principalmente para la programación estadística,
[1] "c" aunque bien se puede utilizar con objetivos
[1] "d" distintos también. Cabe destacar que brinda una
amplia selección de herramientas realmente útiles
para facilitar la tarea de quien lo utilice, así como
b) Los bucles WHILE comienzan
por ejemplo posee funciones capaces de realizar
comprobando una condición. Si esta es verdadera,
distintos tipos de gráficos en base a los datos
entonces se entra al cuerpo del bucle. Una vez
ingresados, lo cual no suele ser típico en un
completada una ejecución de este bloque, se
lenguaje de programación, por lo que hace que este
comprueba la condición nuevamente y así
sea uno importante para tener en cuenta. También,
sucesivamente hasta que la comprobación de la
le brinda a quien lo utilice, la posibilidad de crear
condición de falso.
while(<condición>) { sus propias funciones y de usarlo con fines
matemáticos, como sustitución del reconocido
código MATLAB (software matemático).
Además, es importante resaltar que no
... todos los lenguajes de programación poseen el
} mismo grado de facilidad para quien necesite de él,
pero R presenta la particularidad de disponer de
c) La estructura REPEAT ejecuta funciones matemáticas básicas para las cuales no se
un bucle infinitamente. En general no es utilizada necesita un conocimiento experto (a menos que se
para realizar análisis, sino cuando se realiza desee programar de manera avanzada); es decir,
programación. La única forma de terminar con el cualquiera que requiera este lenguaje puede
bucle es por una interrupción del ciclo desde el entenderlo fácilmente desde un principio.
interior del bloque llamando dentro de este a la Actualmente se encuentran disponibles
función BREAK. Una forma de hacerlo es por 9249 librerías (packages) desarrollados en R, que
medio de un IF que pruebe la condición de salida: cubren multitud de aplicaciones en diversos
count <- 0 campos; y no menos importante, es libre,
permitiendo que esté al alcance de quien desee sin
repeat { necesidad de adquirirlo mediante un pago. Esto a
print(count) su vez permite que sea utilizado por usuarios de
forma regular o también por solo una vez.
8

V. REFERENCIAS

También podría gustarte