01.11.2014 Views

Prácticas de Estadística en R - Departamento de Estadística e ...

Prácticas de Estadística en R - Departamento de Estadística e ...

Prácticas de Estadística en R - Departamento de Estadística e ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.5 Programando <strong>en</strong> R 13<br />

2.5. Programando <strong>en</strong> R<br />

La principal v<strong>en</strong>taja <strong>de</strong> R (y S-plus) sobre la mayoría <strong>de</strong>l software estadístico es que<br />

permite combinar sus librerías especializadas con un l<strong>en</strong>guaje <strong>de</strong> programación propio.<br />

Esto resulta mucho más pot<strong>en</strong>te que, por ejemplo, las macros <strong>en</strong> SPSS. A continuación<br />

veremos las principales características <strong>de</strong> la programación <strong>en</strong> R.<br />

Agrupando comandos: R permite escribir varios comandos <strong>en</strong> la misma línea. Esto<br />

se hace poni<strong>en</strong>do un marcador <strong>de</strong> final <strong>de</strong> comando antes <strong>de</strong> empezar el sigui<strong>en</strong>te.<br />

El marcador utilizado <strong>en</strong> R es “;”.<br />

Expresiones: Una serie <strong>de</strong> comandos escritos <strong>en</strong>tre llaves forman una expresión, el<br />

resultado <strong>de</strong> la misma será el <strong>de</strong> su último comando; la estructura g<strong>en</strong>eral <strong>de</strong> una<br />

expresión es{cmd_1; cmd_2; ... cmd_n}. Pue<strong>de</strong> haber expresiones anidadas, que<br />

se van evaluando <strong>de</strong> <strong>de</strong>ntro hacia fuera. Son el compon<strong>en</strong>te principal <strong>de</strong> funciones,<br />

bucles...<br />

Ejecución condicional: Como <strong>en</strong> todos los l<strong>en</strong>guajes <strong>de</strong> programación, esto se hace<br />

con las s<strong>en</strong>t<strong>en</strong>cias if. Estas s<strong>en</strong>t<strong>en</strong>cias <strong>en</strong> R ti<strong>en</strong><strong>en</strong> la sigui<strong>en</strong>te sintaxis:<br />

if (expr_1) {expr_2}<br />

else if (expr_3) {expr_4}<br />

else {expr_5}<br />

don<strong>de</strong> expr_1 y expr_3 <strong>de</strong>b<strong>en</strong> <strong>de</strong>volver un valor lógico. En R también se pue<strong>de</strong>n<br />

construir s<strong>en</strong>t<strong>en</strong>cias if anidadas (no es más que anidar expresiones). La s<strong>en</strong>t<strong>en</strong>cia<br />

condicional switch también está <strong>de</strong>finida <strong>en</strong> R.<br />

Bucles R admite los bucles for, repeat y while, su sintaxis es la sigui<strong>en</strong>te:<br />

for: for (name in expr_1) expr_2. Por ejemplo, la sintaxis para un bucle que<br />

mueva un índice i <strong>de</strong>s<strong>de</strong> 1 hasta n es:<br />

for (i in 1:n) {expr}<br />

repeat: repeat expr. En este caso hay que asegurarse <strong>de</strong> que <strong>en</strong> algún mom<strong>en</strong>to<br />

<strong>de</strong> expr se llega a un break/return que nos saca <strong>de</strong>l bucle.<br />

while: while(cond) expr.<br />

Depurando el código: Las funciones print() y cat() nos permit<strong>en</strong> imprimir datos <strong>en</strong><br />

pantalla durante la ejecución <strong>de</strong> un programa. Útil tanto para pres<strong>en</strong>tar la salida<br />

<strong>de</strong> resultados como para <strong>de</strong>purar el código.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!