Ir al contenido principal

Habilidades básicas de programación en R

Practica habilidades básicas de programación en R usando material del curso gratuito de DataCamp Model a Quantitative Trading Strategy in R.
Actualizado 17 sept 2026  · 5 min leer

Explorar con IA

ChatGPTClaudePerplexity

Si quieres hacer nuestro curso gratuito Model a Quantitative Trading Strategy in R, aquí tienes el enlace.

Leer archivo: read.csv()

El primer paso antes de analizar los datos de una acción es descargarlos y cargarlos en el espacio de trabajo de R. Cargar un conjunto de datos en el workspace es similar a abrir un archivo en Excel; a partir de ahí puedes ejecutar las funciones disponibles sobre él. En R, las tablas de datos suelen guardarse como objetos llamados data frames.

En este capítulo usaremos datos de la acción MARUTI descargados de Yahoo Finance. Los datos están disponibles en http://assets.datacamp.com/course/quantinsti/data_ch1.csv. El conjunto incluye los datos diarios OHLC (Open, High, Low, Close) y el volumen de Maruti del 1 de enero de 2008 al 31 de diciembre de 2013.

En este ejercicio empezaremos definiendo un nuevo objeto en R, llamado data_maruti. La sintaxis para definir una nueva variable u objeto es muy sencilla:

variable_name <- value

donde variable_name es el nombre del nuevo objeto o variable y value es el valor que se le asigna.

Guardaremos un archivo .csv en data_maruti. La función utilizada para leer un archivo .csv y guardarlo como un data frame es read.csv(). La sintaxis para llamar a una función es muy simple:

function_name(object1, object2, argument1, argument2, ....)

donde function_name es el nombre de la función y object1, object1 son los objetos o variables sobre los que quieres ejecutar la función. Los argumentos son las especificaciones que pasas al ejecutar la función.

En este ejercicio aprenderemos a crear una nueva variable usando una función.

Instrucciones

  • Inspecciona el data frame dummy cargado como ejemplo. Observa que hay tres argumentos en la función read.csv(): file, igual a la URL de los datos; header, un valor lógico que indica si la primera línea del archivo contiene los nombres de las variables (TRUE en este caso); y stringsAsFactors, que especifica si las cadenas de texto deben guardarse como factores o no (FALSE en este caso).
  • Crea una nueva variable data_maruti que contenga los datos diarios de Maruti del 1 de enero de 2008 al 31 de diciembre de 2013. Asegúrate de especificar header como TRUE y stringAsFactors como FALSE.
  • Por último, inspecciona las primeras filas del data frame que has cargado con la función head(). Simplemente ejecuta head(data_maruti) para llamarla.
eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuIiwic2Ft cGxlIjoiXG4jIFRoaXMgaXMgZXhhbXBsZSBjb2RlIHRvIHNob3cgeW91IGhv dyB0byByZWFkIGEgLmNzdiBmaWxlXG5kdW1teSA8LSByZWFkLmNzdihmaWxl ID0gXCJodHRwOi8vYXNzZXRzLmRhdGFjYW1wLmNvbS9jb3Vyc2UvcXVhbnRp bnN0aS9kYXRhX2NoMS5jc3ZcIiwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0Fz RmFjdG9ycyA9IEZBTFNFKVxuXG4jIFJlYWQgb3V0IHRoZSAuY3N2IGZpbGUg c2F2ZWQgYXQgJ2h0dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9x dWFudGluc3RpL2RhdGFfY2gxLmNzdidcbmRhdGFfbWFydXRpIDwtXG5cbiMg SW5zcGVjdCB0aGUgZGF0YSBmcmFtZSIsInNvbHV0aW9uIjoiXG4jIFRoaXMg aXMgZXhhbXBsZSBjb2RlIHRvIHNob3cgeW91IGhvdyB0byByZWFkIGEgLmNz diBmaWxlXG5kdW1teSA8LSByZWFkLmNzdihmaWxlID0gXCJodHRwOi8vYXNz ZXRzLmRhdGFjYW1wLmNvbS9jb3Vyc2UvcXVhbnRpbnN0aS9kYXRhX2NoMS5j c3ZcIiwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNF KVxuXG4jIFJlYWQgb3V0IHRoZSAuY3N2IGZpbGUgc2F2ZWQgYXQgJ2h0dHA6 Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFudGluc3RpL2RhdGFf Y2gxLmNzdidcbmRhdGFfbWFydXRpIDwtIHJlYWQuY3N2KGZpbGUgPSBcImh0 dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFudGluc3RpL2Rh dGFfY2gxLmNzdlwiLCBoZWFkZXIgPSBUUlVFLCBzdHJpbmdzQXNGYWN0b3Jz ID0gRkFMU0UpXG5cbiMgSW5zcGVjdCB0aGUgZGF0YSBmcmFtZVxuaGVhZChk YXRhX21hcnV0aSkiLCJzY3QiOiJcbnRlc3RfZXJyb3IoKVxudGVzdF9mdW5j dGlvbihcInJlYWQuY3N2XCIsXCJmaWxlXCIsaW5jb3JyZWN0X21zZyA9IFwi SGF2ZSB5b3Ugc3BlY2lmaWVkIHRoZSA8Y29kZT5maWxlPC9jb2RlPiBhcmd1 bWVudCBjb3JyZWN0bHkgaW5zaWRlIHRoZSA8Y29kZT5yZWFkLmNzdigpPC9j b2RlPiBmdW5jdGlvbj9cIilcbnRlc3RfZnVuY3Rpb24oXCJyZWFkLmNzdlwi LFwiaGVhZGVyXCIsbm90X2NhbGxlZF9tc2cgPSBcIk1ha2Ugc3VyZSB0byBz ZXQgdGhlIDxjb2RlPmhlYWRlcjwvY29kZT4gYXJndW1lbnQgaW5zaWRlIHRo ZSA8Y29kZT5yZWFkLmNzdigpPC9jb2RlPiBmdW5jdGlvbi5cIiwgaW5jb3Jy ZWN0X21zZyA9IFwiTWFrZSBzdXJlIHRvIHNldCB0aGUgPGNvZGU+aGVhZGVy PC9jb2RlPiBhcmd1bWVudCB0byA8Y29kZT5UUlVFPC9jb2RlPiBpbnNpZGUg dGhlIDxjb2RlPnJlYWQuY3N2KCk8L2NvZGU+IGZ1bmN0aW9uLlwiKVxudGVz dF9mdW5jdGlvbihcInJlYWQuY3N2XCIsXCJzdHJpbmdzQXNGYWN0b3JzXCIs IG5vdF9jYWxsZWRfbXNnID0gXCJNYWtlIHN1cmUgdG8gc2V0IHRoZSA8Y29k ZT5zdHJpbmdzQXNGYWN0b3JzPC9jb2RlPiBhcmd1bWVudCBpbnNpZGUgdGhl IDxjb2RlPnJlYWQuY3N2KCk8L2NvZGU+IGZ1bmN0aW9uLlwiLCBpbmNvcnJl Y3RfbXNnID0gXCJNYWtlIHN1cmUgdG8gc2V0IHRoZSA8Y29kZT5zdHJpbmdz QXNGYWN0b3JzPC9jb2RlPiBhcmd1bWVudCB0byA8Y29kZT5GQUxTRTwvY29k ZT4gaW5zaWRlIHRoZSA8Y29kZT5yZWFkLmNzdigpPC9jb2RlPiBmdW5jdGlv bi5cIilcbnRlc3Rfb2JqZWN0KFwiZGF0YV9tYXJ1dGlcIixpbmNvcnJlY3Rf bXNnID0gXCJUaGUgPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+IHZhcmlhYmxl IGlzIG5vdCBpbml0aWFsaXplZCBhcyBleHBlY3RlZC4gVGFrZSBhIGxvb2sg YXQgdGhlIGhpbnQuXCIpXG50ZXN0X2Z1bmN0aW9uKFwiaGVhZFwiLCBcInhc Iiwgbm90X2NhbGxlZF9tc2cgPSBcIlVzZSB0aGUgZnVuY3Rpb24gPGNvZGU+ aGVhZCgpPC9jb2RlPiB0byBpbnNwZWN0IHRoZSBmaXJzdCByb3cgb2YgPGNv ZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+LlwiLCBpbmNvcnJlY3RfbXNnID0gXCJN YWtlIHN1cmUgdG8gcGFzcyB0aGUgPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+ IHZhcmlhYmxlIHRvIHRoZSBmdW5jdGlvbiA8Y29kZT5oZWFkKCk8L2NvZGU+ LiBUcnkgYWdhaW4uXCIpXG5zdWNjZXNzX21zZyhcIkdyZWF0ISBDaGVjayBv dXQgdGhlIGNvbHVtbiBuYW1lcyBvZiB5b3VyIGRhdGEgc2V0LiBXaGF0IGRv IHlvdSB0aGluayB0aGV5IG1lYW4/XCIpIiwiaGludCI6IlxuUmVhZCB0aGlz IGh0dHA6Ly93d3cuci10dXRvci5jb20vci1pbnRyb2R1Y3Rpb24vZGF0YS1m cmFtZS9kYXRhLWltcG9ydC4ifQ==

Echa un vistazo a tus datos

Ya conoces la función head(), que usamos para imprimir las primeras filas de data_maruti.

En este ejercicio, imprimirás las últimas filas del conjunto usando la función tail(). También verás cómo consultar el número de filas y columnas del dataset.

El data frame data_maruti ya está cargado en el espacio de trabajo.

Instrucciones

  • Imprime las últimas seis filas de data_maruti con la función tail().
  • Imprime el número de filas de data_maruti con la función nrow().
  • Imprime el número de columnas de data_maruti con la función ncol().
eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuI0Rvd25s b2FkIGRhdGEgc2V0XG5kYXRhX3VybCA9IFwiaHR0cDovL2Fzc2V0cy5kYXRh Y2FtcC5jb20vY291cnNlL3F1YW50aW5zdGkvZGF0YV9jaDEuY3N2XCJcbmRh dGFfbWFydXRpID0gcmVhZC5jc3YoZmlsZSA9IGRhdGFfdXJsLCBoZWFkZXIg PSBUUlVFLCBzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UpIiwic2FtcGxlIjoi XG4jIFByaW50IGxhc3Qgc2l4IHJvd3Mgb2YgJ2RhdGFfbWFydXRpJ1xuXG5c biMgUHJpbnQgdGhlIG51bWJlciBvZiByb3dzIGluIGBkYXRhX21hcnV0aWBc blxuXG4jIFByaW50IHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiBgZGF0YV9t YXJ1dGlgIiwic29sdXRpb24iOiJcbiMgUHJpbnQgbGFzdCBzaXggcm93cyBv ZiAnZGF0YV9tYXJ1dGl'1IHVzaW5nIGZ1bmN0aW9uICd0YWlsKCknXG50YWls KGRhdGFfbWFydXRpKVxuXG4jIFByaW50IHRoZSBudW1iZXIgb2Ygcm93cyBp biBgZGF0YV9tYXJ1dGlgIHVzaW5nIGZ1bmN0aW9uICducm93KCknXG5ucm93 KGRhdGFfbWFydXRpKVxuXG4jIFByaW50IHRoZSBudW1iZXIgb2YgY29sdW1u cyBpbiBgZGF0YV9tYXJ1dGlgIHVzaW5nIGZ1bmN0aW9uICduY29sKCknXG5u Y29sKGRhdGFfbWFydXRpKSIsInNjdCI6IlxuXG50ZXN0X2Vycm9yKClcbnRl c3RfZnVuY3Rpb24oXCJ0YWlsXCIsIFwieFwiLCBub3RfY2FsbGVkX21zZyA9 IFwiSGF2ZSB5b3UgdXNlZCB0aGUgZnVuY3Rpb24gPGNvZGU+dGFpbCgpPC9j b2RlPj9cIixcbiAgICAgICAgICAgICAgaW5jb3JyZWN0X21zZyA9IFwiTWFr ZSBzdXJlIHRvIHBhc3MgdGhlIGNvcnJlY3QgZGF0YSBmcmFtZSB0byB0aGUg PGNvZGU+dGFpbCgpPC9jb2RlPiBmdW5jdGlvbi5cIilcbnRlc3RfZnVuY3Rp b24oXCJucm93XCIsIFwieFwiLCBub3RfY2FsbGVkX21zZyA9IFwiSGF2ZSB5 b3UgdXNlZCB0aGUgZnVuY3Rpb24gPGNvZGU+bmNvbCgpPC9jb2RlPj9cIixc biAgICAgICAgICAgICAgaW5jb3JyZWN0X21zZyA9IFwiTWFrZSBzdXJlIHRv IHBhc3MgdGhlIGNvcnJlY3QgZGF0YSBmcmFtZSB0byB0aGUgPGNvZGU+bmNv bCgpPC9jb2RlPiBmdW5jdGlvbi5cIilcbnRlc3RfZnVuY3Rpb24oXCJuY29s XCIsIFwieFwiLCBub3RfY2FsbGVkX21zZyA9IFwiSGF2ZSB5b3UgdXNlZCB0 aGUgZnVuY3Rpb24gPGNvZGU+bmNvbCgpPC9jb2RlPj9cIixcbiAgICAgICAg ICAgICAgaW5jb3JyZWN0X21zZyA9IFwiTWFrZSBzdXJlIHRvIHBhc3MgdGhl IGNvcnJlY3QgZGF0YSBmcmFtZSB0byB0aGUgPGNvZGU+bmNvbCgpPC9jb2Rl PiBmdW5jdGlvbi5cIilcbnN1Y2Nlc3NfbXNnKFwiR3JlYXQgam9iISBDb250 aW51ZSB0byB0aGUgbmV4dCBleGVyaXNlLlwiKSIsImhpbnQiOiJcblRoZSBg YHRhaWwoKWBgIGZ1bmN0aW9uIHByaW50cyB0aGUgbGFzdCBzaXggcm93cyBi eSBkZWZhdWx0LCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gc3BlY2lmeSBhZGRp dGlvbmFsIGFyZ3VtZW50cy4gVGhlIHN5bnRheCB0byBydW4gYSBmdW5jdGlv biBvdmVyIGEgZGF0YSBmcmFtZSBgYGZ1bmN0aW9uX25hbWUoZGZfbmFtZSlg YC4gRm9yIGV4YW1wbGUsIHRvIHJ1biB0aGUgZnVuY3Rpb24gYGBoZWFkKClg YCBvdmVyIGBkYXRhX21hcnV0aWAsIHdlIHNpbXBseSB3cml0ZSBgYGhlYWQo ZGF0YV9tYXJ1dGkpYGAuIn0=

Tipos, clases y dimensiones de los objetos en R

Cada variable en R es un objeto con su propio tipo, clase y dimensión. Hay pocos tipos básicos de variables: numérico (p. ej., 5 o 5.0), carácter (p. ej., "a") y lógico (p. ej., TRUE). Las dimensiones son el número de filas y columnas del objeto. Por último, la clase de un objeto puede cambiar el comportamiento de unas mismas funciones. Por ejemplo, la función print() se comportará de forma distinta para una variable que es un data frame frente a otra que es un modelo lineal.

Las clases de objetos con las que trabajamos en este capítulo son los vectores y los data frames. Los data frames, como ya se ha señalado, son como tablas de Excel y se usan mucho en computación financiera. Los vectores son como una sola fila o columna de datos con el mismo tipo de variable. Dicho de otro modo, un data frame está compuesto por vectores.

Instrucciones

Imprime el tipo, la clase y las dimensiones del objeto data_maruti usando las funciones typeof(), class() y dim(), respectivamente. El data frame data_maruti ya está cargado en el espacio de trabajo.

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuZGF0YV91 cmwgPSBcImh0dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFu dGluc3RpL2RhdGFfY2gxLmNzdlwiXG5kYXRhX21hcnV0aSA9IHJlYWQuY3N2KGZpbGUgPSBkYXRhX3VybCwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKSIsInNhbXBsZSI6IlxuIyBQcmludCB0aGUgY2xhc3MgbyAnZGF0YV9tYXJ1dGknXG5cblxuIyBQcmludCB0aGUgdHlwZSBvZiAnZGF0YV9tYXJ1dGknXG5cblxuIyBQcmludCB0aGUgZGltZW5zaW9ucyBvZiAnZGF0YV9tYXJ1dGknIiwic29sdXRpb24iOiJcbiMgUHJpbnQgdGhlIGNsYXNzIG9mICdkYXRhX21hcnV0aSdcbmNsYXNzKGRhdGFfbWFydXRpKVxuXG4jIFByaW50IHRoZSB0eXBlIG9mICdkYXRhX21hcnV0aSdcbnR5cGVvZihkYXRhX21hcnV0aSlcblxuIyBQcmludCB0aGUgZGltZW5zaW9ucyBvZiAnZGF0YV9tYXJ1dGknXG5kaW0oZGF0YV9tYXJ1dGkpIiwic2N0IjoiXG50ZXN0X291dHB1dF9jb250YWlucyhcImNsYXNzKGRhdGFfbWFydXRpKVwiLCBpbmNvcnJlY3RfbXNnID0gXCJVc2UgdGhlIGZ1bmN0aW9uIDxjb2RlPmNsYXNzKClcL2NvZGU+IGFuZCBwYXNzIG9uIDxjb2RlPmRhdGFfbWFydXRpPC9jb2RlPiBhcyB0aGUgYXJndW1lbnQuXCIpXG50ZXN0X291dHB1dF9jb250YWlucyhcInR5cGVvZihkYXRhX21hcnV0aSlcIiwgaW5jb3JyZWN0X21zZyA9IFwiVXNlIHRoZSBmdW5jdGlvbiA8Y29kZT50eXBlb2YoKVwvY29kZT4gYW5kIHBhc3Mgb24gPGNvZGU+ZGF0YV9tYXJ1dGk8XC9jb2RlPiBhcyB0aGUgYXJndW1lbnQuXCIpXG50ZXN0X291dHB1dF9jb250YWlucyhcImRpbShkYXRhX21hcnV0aSlcIiwgaW5jb3JyZWN0X21zZyA9IFwiVXNlIHRoZSBmdW5jdGlvbiA8Y29kZT5kaW0oKVwvY29kZT4gYW5kIHBhc3Mgb24gPGNvZGU+ZGF0YV9tYXJ1dGk8XC9jb2RlPiBhcyB0aGUgYXJndW1lbnQuXCIpXG5zdWNjZXNzX21zZyhcIlRoaXMgaXMgZ29pbmcgd2VsbCEgV2UgaGF2ZSBub3cgY29uZmlybWVkIHRoYXQgPGNvZGU+ZGF0YV9tYXJ1dGk8XC9jb2RlPiBpcyBpbiBmYWN0IGEgZGF0YSBmcmFtZS4gTGV0IHVzIG5vdyBsZWFybiB0byB1c2Ugc29tZSBmdW5jdGlvbnMgaW4gUiB0byBjYWxjdWxhdGUgcmV0dXJucyFcIiksImhpbnQiOiJcblRoaXMgaXMgZmFpcmx5IGJhc2ljISBKdXN0IHVzZSB0aGUgZ2l2ZW4gZnVuY3Rpb25zIGFzIHlvdSBkaWQgaW4gcHJldmlvdXMgcXVlc3Rpb24uIn0=


Si quieres seguir aprendiendo con este curso, aquí tienes el enlace.

Echa un vistazo al tutorial de DataCamp Objects and Classes in R.

Temas
R
Ciencia de datos

Más sobre R

Curso

Introducción a R

4 h
3.1M
Domina los fundamentos del análisis de datos en R, como vectores, listas y marcos de datos, y practica R con conjuntos de datos reales.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado
R Project

blog

Las 8 mejores ideas de proyectos R para 2026

Descubre qué es R y todas las ventajas de utilizarlo, con ejemplos e ideas nuevas para un proyecto.
Elena Kosourova's photo

Elena Kosourova

14 min

Tutorial

Creación de una lista en R

Practica Listas en R utilizando el material del curso Introducción a R de DataCamp.
Ryan Sheehy's photo

Ryan Sheehy

3 min

Tutorial

Tutorial de regresión lineal en R

En este tutorial aprenderás los fundamentos de un modelo estadístico muy popular: la regresión lineal.

Eladio Montero Porras

15 min

Tutorial

Paquetes R: Tutorial para principiantes

Una introducción a los paquetes de R basada en 11 de las preguntas más frecuentes de los usuarios.
DataCamp Team's photo

DataCamp Team

15 min

Tutorial

Tutorial de tablas de contingencia en R

En este tutorial, aprenderás a crear tablas de contingencia y a probar y cuantificar las relaciones visibles en ellas.
Łukasz Deryło's photo

Łukasz Deryło

10 min

Tutorial

Tutorial de RStudio

Descubra qué es RStudio y cómo instalarlo y empezar a utilizarlo
Elena Kosourova 's photo

Elena Kosourova

12 min

Ver MásVer Más