Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FCE / UNMSM
N° 21
Serie Apuntes de Clase ΩΒΓ Diciembre de 2019
https://financebusinessbet.wixsite.com/financebusiness
https://twitter.com/FinanzasEmpresa
rafaelbustamante.weebly.com
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
1
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
La Serie Apuntes de Clase Omega Beta Gamma tiene por objetivo difundir
los materiales de enseñanza generados por los docentes que tienen a su
cargo el desarrollo de las asignaturas que forman parte de los Planes de
Estudios de las Escuelas Académico-Profesionales de la Facultad de
Ciencias Económicas de la Universidad Nacional Mayor de San Marcos.
Estos documentos buscan proporcionar a los estudiantes la explicación de
algunos temas específicos que son abordados en su formación
universitaria.
https://financebusinessbet.wixsite.com/financebusiness
https://twitter.com/FinanzasEmpresa
rafaelbustamante.weebly.com
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
2
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
INTRODUCIÓN AL R Y AL R- STUDIO
.
Resumen
El objetivo de este apunte de clase es proporcionar las nociones básicas para personas
interesadas en comenzar a utilizar el paquete econométrico R. Poniendo énfasis en
el funcionamiento de R, con el objeto de que se pueda usar de una manera básica.
Dado que R ofrece una amplia gama de posibilidades, es útil para el principiante
adquirir algunas nociones y conceptos y así progresar gradualmente.
Se busca, asimismo simplificar las explicaciones al máximo para hacerlas lo más
comprensivas posibles, pero al mismo tiempo proporcionando detalles útiles,
algunas veces con la ayuda de tablas.
Estudios de Doctorado en Economía, Universidad Autónoma de México. Maestría en Economía con mención
en Finanzas, MBA Centrum Pontificia Universidad Católica del Perú. B. Sc. Economía, Universidad Nacional
Mayor de San Marcos. Profesor del Departamento de Economía de UNMSM. Investigador asociado al
Instituto de Investigaciones FCE – UNMSM. Investiga. Contacto: rafael.bustamanter@unmsm.edu.pe .
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
3
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Contenido
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
4
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
1. Introducción al entorno R
Cualquiera de los tres significados es compatible con una definición del R. Estos
análisis de datos. En este entorno, tal como se indica en la web del programa, www.r-
matrices.
datos.
pantalla o en papel.
1
Interfaz es lo que conocemos en inglés como interface (“superficie de contacto”). En informática, se utiliza para
nombrar a la conexión funcional entre dos sistemas, programas, dispositivos o componentes de cualquier tipo,
que proporciona una comunicación de distintos niveles permitiendo el intercambio de información. Su plural es
interfaces. Ejemplos de interfaces en informática son las interfaces de usuario (entre computadora y persona)
como sería una pantalla o un ratón (si hablamos de hardware) o la ventana gráfica de un programa con la que
interactuamos (si hablamos de software); las interfaces físicas (entre dos dispositivos) como el SCSI o el USB; o las
interfaces lógicas (entre dos programas) como la API o el DOM.
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
5
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Un completo y bien desarrollado lenguaje de programación, simple y
Figura Nº 1
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
6
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Figura Nº 2
Figura Nº 3
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
7
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
8
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Figura Nº 4
Hoy en día, la mejor plataforma para utilizar R (sobre todo para el principiante) es
RStudio1. RStudio es un IDE2 muy popular y que ofrece un entorno prácticamente
idéntico en todos los sistemas operativos para utilizar R.
2
Normalmente, un IDE consiste de un editor de código fuente, herramientas de construcción automáticas y un depurador. La
mayoría de los IDE tienen un autocompletado inteligente de código (IntelliSense). Algunos IDE contienen un compilador, un
intérprete, o ambos, tales como NetBeans y Eclipse; otros no, tales como SharpDevelop y Lazarus. El límite entre un IDE y otras
partes del entorno de desarrollo de software más amplio no está bien definido. Muchas veces, a los efectos de simplificar la
construcción de la interfaz gráfica de usuario (GUI, por sus siglas en inglés) se integran un sistema controlador de versión y
varias herramientas. Muchos IDE modernos también cuentan con un navegador de clases, un buscador de objetos y un
diagrama de jerarquía de clases, para su uso con el desarrollo de software orientado a objetos.
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
9
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Figura Nº 5
Figura Nº 6
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
10
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Figura Nº 7
Figura Nº 4
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
11
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
RStudio, por defecto, tiene cuatro paneles. El panel inferior izquierdo es una consola
de R. En ella se puede escribir y ejecutar código. R muestra también en ella los
resultados obtenidos.
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
12
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
2. Ventajas y desventajas de R (R Studio)
para leer datos desde SPSS, SAS, Access, MySQL, Excel,... Asimismo permite
estadísticos de renombre.
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
13
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Facilidad de integración con actividades de formación en técnicas y métodos
estadísticos en todos los ámbitos del conocimiento. Su uso es cada vez más
profesional o de desarrollo.
un menú para el acceso a los comandos más habituales que, además, muestra
3
La editorial Springer tiene una colección –UseR!– dedicada exclusivamente a R.
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
14
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
el código que emplea R de forma que permite al usuario familiarizarse con el
lenguaje.
manera notable.
bases de datos (las propias de SAS o SPSS, Access, dBase, Excel, MySQL, etc ).
4
Ello se debe a que todos los datos con los que se trabaja deben permanecer simultáneamente en memoria. No obstante es
posible derivar parte de la carga de trabajo del procesamiento de datos al propio motor de la base de datos que se utiliza,
mediante comandos SQL.
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
15
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
bases de datos (las propias de SAS o SPSS, Access, dBase, Excel, MySQL, . . . ).
En algún caso las nuevas librerías que se incorporan a R pueden tener errores
tiempo récord. Debe señalarse, no obstante, que ningún programa (incluso los
notablemente más lento. Ello se debe a que todos los datos con los que se
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
16
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
usuario pueda aplicar casi cualquier procedimiento estadístico –sea o no
guardados en varios formatos (jpg, png, bmp, ps, pdf, emf, pictex, xfig; los
lenguaje R permite al usuario, por ejemplo, programar bucles (’loops’ en inglés) para
R.
es su enorme flexibilidad.
5
Por ejemplo: http://stat.cmu.edu/S/
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
17
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Mientras que programas más clásicos muestran directamente los resultados de un
análisis, R guarda estos resultados como un “objeto”, de tal manera que se puede
ser un poco extraño para el usuario, pero esta característica suele ser muy útil. De
hecho, el usuario puede extraer solo aquella parte de los resultados que le interesa.
Por ejemplo, si uno corre una serie de 20 regresiones y quiere comparar los
de esta manera los resultados se pueden resumir en una sola línea, mientras que un
entorno R.
símbolo predeterminado es ‘>’, que en UNIX puede coincidir con el símbolo del
sistema, por lo que puede parecer que no sucede nada. Si ese es el caso es posible
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
18
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
3.2 Programas relacionados. Documentación
AT&T por Rick Becker, John Chambers y Allan Wilks. Muchos de los libros y
manuales sobre S son ´utiles para R. La referencia básica es The New S Language: A
Trevor J.
4 Estadística con R
con R se incluyen ocho bibliotecas (llamadas bibliotecas est´andar) pero otras muchas
Como hemos indicado, muchas técnicas estadísticas, desde las clásicas hasta la
con unos resultados intermedios que se van almacenando en objetos, para ser
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
19
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
5. Objetos – Tipos (Vector, Array, Matriz, Factor, Serie temporal, Lista, Data frame)
5.1 Objetos
En términos genéricos, todos los elementos que maneja R son objetos: un valor
preciso entender y aprender a manipular bien las distintas clases de objetos que
objetos que R utiliza para representar datos: valores, vectores, matrices, dataframes,
R utiliza la programación orientada a objetos. Ello significa que una misma función
hace cosas distintas según la clase del objeto que recibe como argumento, pudiendo
5.1.1 Vectores
La función vector, que tiene dos argumentos mode y length, crea un vector cuyos
Uso
Ejemplo:
v <- vector("integer", 0)
## integer(0)
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
20
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
w <- vector("numeric", 3)
## [1] 0 0 0
u <- vector("logical", 5)
u # Un vector de 5 FALSE
argumento (la longitud del vector): numeric(), logical(), y character(). El primer tipo
tipo).
Podemos escribir vectores de varias maneras, utilizando la opción “:” (el vector
numero anterior sin sobrepasarlo, tanto en orden ascendente como descendente) con
> 1:10
[1] 1 2 3 4 5 6 7 8 9 10
10:1
[1] 10 9 8 7 6 5 4 3 2 1
Tenemos, además, formas adicionales de crear vectores. Una de las más comunes es
utilizando la función “seq(a, b, c)”, que genera secuencias de números reales, donde
tercero el incremento que se debe usar para generar la secuencia. Aunque también
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
21
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Ejemplo:
Acceso a datos:
Asimismo la función vector tiene otras funciones complementarias con las cuales
vector del modo modo (el predeterminado es coaccionar a cualquier modo vectorial
is.vector: Es una función una genérica y devuelve TRUE si x es un vector del modo
FALSE.
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
22
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
5.1.2 Generación de Niveles
La función “gl( )” (generador de niveles) genera series regulares de factores. Tiene la
forma “gl(a, b)” donde “a” es el número de niveles (o clases) y “b” es el número de
réplicas en cada nivel. Se pueden usar dos opciones: “length” para especificar el
número de datos producidos, y “labels” para especificar los nombres de los factores.
Finalmente, “expand.grid( )” crea una tabla de datos con todas las combinaciones
argumentos.
R puede escribir vectores con caracteres o números, pero siempre entiende los
Un vector siempre está formado por elementos del mismo tipo, no pueden mezclarse
c("Hola", "Adios")
c(1, 1+2i)
c(1-1i, 2)
dias.semana=c("Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Domingo")
> dias.semana
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
23
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Una opción de R es que podemos asignar nombres a los elementos de un vector
objeto).
x < - 1:7
names(x)<
c("Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo")
También podemos conocer o cambiar el modo o tipo de los elementos que forman el
vector mediante la función “mode” (tomaría los valores: logical, numeric, complex,
character, null, list, function, graphics, expression, name, frame, raw y unknown).
5.1.3 Factores
Un factor es un vector de cadenas de caracteres que sirve para representar datos
categóricos, aunque no solo incluye estos valores sino que también los diferentes
Uno de los usos más importantes de los factores es el modelado estadístico; dado que
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
24
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Los factores en R se almacenan como un vector de valores enteros con un conjunto
factor.
La función factor se utiliza para crear un factor. El único argumento requerido para
factor es un vector de valores que será devuelto como un vector de valores de factor.
niveles de un factor siempre serán valores de carácter. Puedes ver los niveles posibles
Para cambiar el orden en el que se mostrarán los niveles de su orden ordenado por
defecto, el argumento “levels =” puede recibir un vector de todos los valores posibles
Los niveles de un factor se utilizan cuando se muestran los valores del factor. Se
puede cambiar estos niveles en el momento en que crea un factor pasando un vector
con los nuevos valores a través del argumento labels =. Tenga en cuenta que esto
realmente cambia los niveles internos del factor y para cambiar las etiquetas de un
niveles. Para ilustrar este punto, considere un factor tomando valores enteros que
# Tres niveles
> factor(1:3)
[1] 1 2 3
Levels: 1 2 3
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
25
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
El atributo “levels” indica los valores numéricos posibles (es decir los caracteres
diferentes que aparecen en el vector). Se utiliza, por ejemplo, para dividir una
población en grupos.
La función “factor” se utiliza para codificar un vector como un factor. Creando tantos
# Cinco niveles
[1] 1 2 3
Levels: 1 2 3 4 5
aa<-factor(c(2,3),levels=2:5)
> aa
[1] 2 3
Levels: 2 3 4 5
levels(aa)
> levels(aa)
factor(c("Mujer","Mujer","Hombre"))
Con la opción “exclude”, por ejemplo “factor(1 : 5, exclude = 4)” excluimos los
valores de los niveles que necesitemos y con “ordered” especificamos si los niveles
factor(1:5, exclude=4)
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
26
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
[1] 1 2 3 <NA> 5
Levels: 1 2 3 5
estadísticos, por ejemplo números telefónicos o códigos postales. Por ello antes de
[1] 1 2 2 3 1 2 3 3 1 2 3 3 1
Levels: 1 2 3
> rdata
Levels: I II III
> fdata
Levels: I II III
Como ejemplo de un factor ordenado, considere los datos que consisten en los
nombres de meses:
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
27
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
"November","February","May","August","July","December","August",
"August","September","November", "February","April")
> table(mons)
mons
2 4 1 2 3 1
1 1 5 1 3
Aunque los meses claramente tienen una ordenación, esto no se refleja en la salida de
la función de tabla. Además, los operadores de comparación no son compatibles con
factores no ordenados. La creación de un factor ordenado resuelve estos problemas:
ordered=TRUE)
[1] TRUE
table(mons)
mons
3 2 1 2 1 0
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
28
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
1 4 3 1 5 1
> fert
[1] 10 20 20 50 10 20 10 50 20
> mean(fert)
[1] NA
Warning message:
> mean(as.numeric(levels(fert)[fert]))
[1] 23.33333
convertir los factores numéricos a sus valores numéricos originales. Cuando se crea
primero un factor, todos sus niveles se almacenan junto con el factor y si se extraen
subconjuntos del factor, se conservarán todos los niveles originales. Esto puede crear
problemas al construir matrices de modelos y puede o no ser útil al mostrar los datos
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
29
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
> lets = sample(letters,size=100,replace=TRUE)
> table(lets[1:5])
abcdefghijklmnopqrstuvwxyz
10000000001000001010000001
A pesar de que sólo cinco de los niveles realmente se representan, la función de tabla
muestra las frecuencias para todos los niveles de los factores originales. Para cambiar
esto, podemos simplemente usar otra llamada para factor
> table(factor(lets[1:5]))
akqsz
11111
Se debe tener cuidado al combinar variables que son factores, porque la función c
interpretará los factores como enteros. Para combinar los factores, primero deben ser
convertidos de nuevo a sus valores originales (a través de la función de los niveles),
luego catenated y convertido a un nuevo factor:
> l1 = factor(sample(letters,size=10,replace=TRUE))
> l2 = factor(sample(letters,size=10,replace=TRUE))
> l1
[1] o b i v q n q w e z
Levels: b e i n o q v w z
> l2
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
30
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
[1] b a s b l r g m z o
Levels: a b g l m o r s z
> l12
[1] o b i v q n q w e z b a s b l r g m z o
Levels: a b e g i l m n o q r s v w z
Existen funciones que nos permiten convertir diferentes clases de objetos a modos
> c.p<-c(18002,18194,18199)
> c.p
> mode(c.p)
[1] "numeric"
> codigo.postal<-factor(c.p)
> codigo.postal
> c.p<-c(18002,18194,18199)
> c.p
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
31
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
[1] 18002 18194 18199
> mode(c.p)
[1] "numeric"
> codigo.postal<-factor(c.p)
> codigo.postal
> f<-factor(c(1,3))
> as.numeric(f)
[1] 1 2
> as.numeric(as.character(f))
[1] 1 3
Una lista se crea de manera similar a un marco de datos con la función list. No existe
data.frame(), los nombres de los objetos no se toman por defecto; tomando los
> dias.semana
> list(A=dias.semana,B=1:7)
>A
>B
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
32
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
[1] 1 2 3 4 5 6 7
Puede referirse a cada uno de los elementos de la lista de dos formas distintas: Si
> list(A=dias.semana,B=1:7)$A
> list(A=dias.semana,B=1:7)$B
[1] 1 2 3 4 5 6 7
seleccionar varios elementos, en tanto que las dos últimas solo permiten seleccionar
le indiquen todos los índices (ya que debe seleccionar un sólo elemento) en tanto que
[permite obviar índices, en cuyo caso se seleccionan todos los valores posibles. Si se
de vectores. De hecho, son vectores indexados por dos o más índices y que se
Los parámetros principales de esta función son: data (vector que contiene los valores
> m2<-matrix(1:4,3)
Warning message:
In matrix(1:4, 3) :
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
33
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
La longitud de los datos [4] no es un submúltiplo o múltiplo del número de filas [3]
en la matriz
> m2<-matrix(1:4,2)
> m2
[,1] [,2]
[1,] 1 3
[2,] 2 4
> m2<-matrix(1:8,4)
> m2
[,1] [,2]
[1,] 1 5
[2,] 2 6
[3,] 3 7
[4,] 4 8
m3<-matrix(1:8,ncol=4)
m3
> m3<-matrix(1:8,ncol=4)
> m3
[1,] 1 3 5 7
[2,] 2 4 6 8
Si quiere dar nombres a las columnas (o a las filas) puedes hacerlo asignando valores
al parámetro “dim-names”, lista con los nombres de las filas y las columnas. Las
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
34
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
componentes de la lista deben tener longitud o ser un vector de cadenas de caracteres
matrix(1:9,3,3,dim=list(c(),c("A1","A2","A3")))
> matrix(1:9,3,3,dim=list(c(),c("A1","A2","A3")))
A1 A2 A3
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
> matrix(1:9,3,3,dim=list(c("a1","a2","a3"),c()))
a1 1 4 7
a2 2 5 8
a3 3 6 9
matrix(1:9,3,3,dim=list(c("a1","a2","a3"),c("A1","A2","A3")))
A1 A2 A3
a1 1 4 7
a2 2 5 8
a3 3 6 9
matriz, se realiza indicando los índices de los elementos a los que se hace referencia.
Podemos hacer referencia a una fila (vector) mediante matriz [i,], con i el índice de la
fila que queremos mostrar, o a una columna mediante matriz [, j] con j el índice de la
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
35
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
indicamos los dos índices matriz [i, j], por ejemplo con matriz [2, 1], que da el valor 2º
> datos<-c(70,108,82,1.80,2.06,1.98,27,19,32)
> mm<-matrix(datos,ncol=3,dimnames=list(c("Peso","Altura","Edad"),c()),byrow=T)
> # Con byrow=T le hemos dicho que lea primero por filas
> mm
> datos<-c(70,108,82,1.80,2.06,1.98,27,19,32)
> mm<-matrix(datos,ncol=3,dimnames=list(c("Peso","Altura","Edad"),c()),byrow=T)
> mm
> mm
> mm<-matrix(datos,ncol=3,dimnames=list(c("Peso","Altura","Edad"),c()),byrow=F)
> # Con byrow=F le hemos dicho que lea primero por columnas, con lo que no se
muestra correctamente
> mm
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
36
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
Peso 70 1.80 27
Edad 82 1.98 32
Podemos realizar operaciones con matrices de la misma forma que lo hacíamos con
, *, /, ˆ, % / % y % %.
> M1
[1,] 1 3 5
[2,] 2 4 6
> M2<-matrix((1:6)^2,2,3)
> M2
[1,] 1 9 25
[2,] 4 16 36
> M1+M2
[1,] 2 12 30
[2,] 6 20 42
Aunque en principio no están relacionadas las matrices con las tablas de frecuencias
a partir de factores, podemos utilizar las primeras para expresar las segundas.
Hemos visto que un factor define una tabla de entrada simple. Del mismo modo, dos
factores definen una tabla de doble entrada, y así sucesivamente. La función “table(
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
37
Serie Apuntes de Clase ΩΒΓ / Finance &Business N°21. Diciembre del 2019.
FCE / UNMSM
argumentos categóricos, el resultado será una variable k-indexada, que contiene la
tabla de frecuencias.
a=c(1,3,2)
b=1.3
b=1:3
table(a,b)
denominadas arrays, y de las cuales son casos particulares los vectores y matrices.
Una variable indexada (array) es una colección de datos, por ejemplo numéricos,
indexados por varios índices. R permite crear y manipular variables indexadas, por
ejemplo para crear una variable multiindexada se utiliza la función “array (data, dim,
Bibliografía
Paradis, E. (2010). R para principiantes. Universit Montpellier II. París: Institut des Sciences de
l’E´volution.
González, A., & González, S. (2000). Introdución al R. Notas sobre R: Un entorno de programación
para Análisis de Datos y Gráficos. cran.r-project.org.
Introducción al R y al R- Studio
Bustamante Romaní, Rafael.
38