Académique Documents
Professionnel Documents
Culture Documents
Leccin 1
Selection: 1
| Selecciona una leccin por favor, o teclea 0 para volver al men del
curso.
1: Obtener Ayuda
2: Objetos Tipos de Datos y Operaciones Basicas
3: Subconjuntos de Datos
4: Leer y escribir Datos
5: Funciones
6: Funciones apply
7: Graficacion
8: Parametros en el Sistema de Graficos
9: Colores en el Sistema de Graficos
10: Graficacion con texto y notacion matematica
11: Creacion de Graficas en 3D
12: Expresiones regulares
13: Graficacion con ggplot2
14: Simulacion
Selection: 1
|
| 0%
...
|====
| 6%
...
|=========
| 12%
>
> help.start()
If nothing happens, you should open
http://127.0.0.1:10290/doc/html/index.html yourself
| Excelente!
|=============
| 18%
...
|==================
| 24%
| Acertaste!
|======================
| 29%
...
|==========================
| 35%
...
|===============================
| 41%
| Para buscar ayuda sobre un operador, ste tiene que encontrarse entr
e comillas
| inversas. Por ejemplo, si buscas informacin del operador +, debers
escribir
| help(`+`) o ?`+` en la lnea de comandos.
...
|===================================
| 47%
> apropos("class")
[1] ".__C__classGeneratorFunction" ".__C__className"
[3] ".__C__classPrototypeDef" ".__C__classRepresentation"
[5] ".__C__ClassUnionRepresentation" ".__C__envRefClass"
[7] ".__C__localRefClass" ".__C__oldClass"
[9] ".__C__refClass" ".__C__refClassRepresentation"
[11] ".__C__SClassExtension" ".__C__SuperClassMethod"
[13] ".cache_class" ".checkMFClasses"
[15] ".classEnv" ".MFclass"
[17] ".OldClassesList" ".rs.getR6ClassSymbols"
[19] ".rs.getSetRefClassSymbols" ".rs.getSingleClass"
[21] ".rs.rnb.engineToCodeClass" ".rs.rpc.get_set_class_slots"
[23] ".rs.rpc.get_set_ref_class_call" ".selectSuperClasses"
[25] ".valueClassTest" "all.equal.envRefClass"
[27] "assignClassDef" "class"
[29] "class<-" "classesToAM"
[31] "classLabel" "classMetaName"
[33] "className" "completeClassDefinition"
[35] "completeSubclasses" "data.class"
[37] "findClass" "getAllSuperClasses"
[39] "getClass" "getClassDef"
[41] "getClasses" "getClassName"
[43] "getClassPackage" "getRefClass"
[45] "getSubclasses" "insertClassMethods"
[47] "isClass" "isClassDef"
[49] "isClassUnion" "isSealedClass"
[51] "isVirtualClass" "isXS3Class"
[53] "makeClassRepresentation" "makePrototypeFromClassDef"
[55] "multipleClasses" "namespaceImportClasses"
[57] "nclass.FD" "nclass.scott"
[59] "nclass.Sturges" "newClassRepresentation"
[61] "oldClass" "oldClass<-"
[63] "promptClass" "removeClass"
[65] "resetClass" "S3Class"
[67] "S3Class<-" "sealClass"
[69] "selectSuperClasses" "setClass"
[71] "setClassUnion" "setOldClass"
[73] "setRefClass" "showClass"
[75] "superClassDepth" "unclass"
| Bien hecho!
|========================================
| 53%
> example("read.table")
rd.tbl> unlink(tf)
|============================================
| 59%
| Con eso tendrs una idea de lo que puedes hacer con esta funcin.
...
|=================================================
| 65%
> ??regression
...help.search("regression")
|=========================================================
| 76%
...library(help="stats")
|==============================================================
| 82%
> vignette("tests")
| Excelente!
|==================================================================
| 88%
...vignette()
|===================================================================
==== | 94%
| Es MUY IMPORTANTE que sepas que durante todo el curso en swirl, pued
es hacer uso
| de las funciones help() o ? cuando lo desees, incluso si estas en me
dio de una
| leccin.
...
|===================================================================
========| 100%
LECCION 3
Selection: 3
|
| 0%
...
|=
| 2%
...
|===
| 4%
...
|====
| 5%
|=====
| 7%
| Y ahora ve su contenido.
>
> mi_vector
[1] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Eres el mejor!
|=======
| 9%
...
|========
| 11%
...
|=========
| 12%
...
|===========
| 14%
...
|============
| 16%
> x[s]
Error: object 'x' not found
> mi_vector[3]
[1] 13
| Excelente!
|=============
| 18%
>
> mi_vector[1:5]
[1] 11 12 13 14 15
|==============
| 19%
> mi_vector[c(4,6,13)]
[1] 14 16 23
|================
| 21%
> mi_vector[c(6,13,4)]
[1] 16 23 14
| Excelente!
|=================
| 23%
> mi_vector[[3]]
[1] 13
|==================
| 25%
...
|====================
| 26%
| Tambin puedes usar enteros negativos para obtener un vector que con
sista en todos
| los elementos, excepto los elementos especificados. Excluye los elem
entos 9:15, al
| especificar -9:-15.
> mi_vector[-9:-15]
[1] 11 12 13 14 15 16 17 18 26 27 28 29 30
| Eso es correcto!
|=====================
| 28%
...
|======================
| 30%
> mi_vector[rep(c(TRUE,FALSE),10)]
[1] 11 13 15 17 19 21 23 25 27 29
| Bien hecho!
|========================
| 32%
| Como podrs notar, lo que ocurri fue que indexaste nicamente los e
lementos en
| las posiciones impares, puesto que creaste un vector con elementos T
RUE en las
| posiciones impares y FALSE en las pares.
...
|=========================
| 33%
> mi_vector[c(FALSE,FALSE,TRUE)]
[1] 13 16 19 22 25 28
|==========================
| 35%
...
|============================
| 37%
|=============================
| 39%
| Excelente trabajo!
|==============================
| 40%
| Tambin puedes usar esta notacin para extraer partes de una estruct
ura de datos
| multidimensional.
...
|================================
| 42%
...
|=================================
| 44%
|==================================
| 46%
, , 1
, , 2
|====================================
| 47%
> mi_arreglo[1,3,2]
[1] 16
| Es asombroso!
|=====================================
| 49%
> mi_arreglo[1:2,1:2,1]
[,1] [,2]
[1,] 1 4
[2,] 2 5
| Todo ese trabajo est rindiendo frutos!
|======================================
| 51%
|=======================================
| 53%
| Al igual que con los arreglos, para obtener todos los renglones o co
lumnas de una
| dimensin de una matriz, simplemente omite los ndices.
...
|=========================================
| 54%
> mi_matriz[1,]
[1] 1 4 7
|==========================================
| 56%
> mi_matriz[,1]
[1] 1 2 3
|===========================================
| 58%
> mi_matriz[2:3,]
[,1] [,2] [,3]
[1,] 2 5 8
[2,] 3 6 9
| Excelente trabajo!
|=============================================
| 60%
|==============================================
| 61%
...
|===============================================
| 63%
...
|=================================================
| 65%
...
|==================================================
| 67%
| Muy bien!
|===================================================
| 68%
| T puedes acceder a los elementos de una lista de mltiples formas.
Puedes usar la
| misma notacin que usaste con los vectores.
...
|=====================================================
| 70%
> carro$color
[1] "rojo"
| Tu dedicacin es inspiradora!
|======================================================
| 72%
> carro[c("ncilindros","nllantas")]
$ncilindros
[1] 4
$nllantas
[1] 4
| Eso es correcto!
|=======================================================
| 74%
| Tambin puedes indexar por nombre usando la notacin [[]] cuando sel
eccionas un
| simple elemento. Por ejemplo, ingresa carro[["marca"]] en la lnea d
e comandos.
> carro[["marca"]]
[1] "Renault"
|=========================================================
| 75%
> carro[["mar",exact=FALSE]]
[1] "Renault"
|===========================================================
| 79%
| Algunas veces una lista ser una lista de listas. Ingresa cochera <-
list(carro,
| camioneta).
|=============================================================
| 81%
> cochera
[[1]]
[[1]]$color
[1] "rojo"
[[1]]$nllantas
[1] 4
[[1]]$marca
[1] "Renault"
[[1]]$ncilindros
[1] 4
[[2]]
[[2]]$color
[1] "azul"
[[2]]$nllantas
[1] 4
[[2]]$marca
[1] "BMW"
[[2]]$ncilindros
[1] 6
|==============================================================
| 82%
| T puedes usar la notacin [[]] para referirte a un elemento en este
tipo de
| estructura de datos. Para hacer esto usa un vector como argumento. R
iterar a
| travs de los elementos en el vector referenciando sublistas.
...
|===============================================================
| 84%
| Eso es correcto!
|================================================================
| 86%
| Recuerda que los data frames son una lista que contiene mltiples ve
ctores
| nombrados que tienen la misma longitud. A partir de este momento usa
rs el data
| frame cars del paquete datasets. No te preocupes, este paquete viene
cargado por
| defecto.
...
|==================================================================
| 88%
| Los datos que conforman al data frame cars son un conjunto de observ
aciones
| tomadas en la dcada de 1920; estas observaciones describen la veloc
idad (mph) de
| algunos carros y la distancia (ft) que les tom parar.
...
|===================================================================
| 89%
> cars
speed dist
1 4 2
2 4 10
3 7 4
4 7 22
5 8 16
6 9 10
7 10 18
8 10 26
9 10 34
10 11 17
11 11 28
12 12 14
13 12 20
14 12 24
15 12 28
16 13 26
17 13 34
18 13 34
19 13 46
20 14 26
21 14 36
22 14 60
23 14 80
24 15 20
25 15 26
26 15 54
27 16 32
28 16 40
29 17 32
30 17 40
31 17 50
32 18 42
33 18 56
34 18 76
35 18 84
36 19 36
37 19 46
38 19 68
39 20 32
40 20 48
41 20 52
42 20 56
43 20 64
44 22 66
45 23 54
46 24 70
47 24 92
48 24 93
49 24 120
50 25 85
| Excelente!
|===================================================================
= | 91%
> cars$speed
[1] 4 4 7 7 8 9 10 10 10 11 11 12 12 12 12 13 13 13 13 14 14 14
14 15 15 15 16
[28] 16 17 17 17 18 18 18 18 19 19 19 20 20 20 20 20 22 23 24 24 24 24
25
| Perseverancia es la respuesta.
|===================================================================
=== | 93%
| Supn que deseas saber a qu velocidad iban los carros a los que les
tom ms de
| 100 pies (ft) frenar.
...
|===================================================================
==== | 95%
> cars$dist>100
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE
[14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE
[27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE
[40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
|===================================================================
===== | 96%
> cars$speed[cars$dist>100]
[1] 24
| Excelente trabajo!
|===================================================================
======= | 98%
...
|===================================================================
========| 100%
1: No
2: Si
Leccion 4
Selection: 4
|
| 0%
...
|==
| 2%
...
|===
| 4%
...
|=====
| 7%
...
|=======
| 9%
...
|========
| 11%
| En esta leccin trabajars con el archivo inmigintnalpry.csv el cual
contiene la
| estimacin de personas provenientes de otros pases que llegan a cad
a uno de los
| estados de Mxico. Si tienes suerte, el archivo se mostrar en algn
editor; de lo
| contrario bscalo en el subdirectorio swirl_temp de tu directorio de
trabajo y
| velo en una aplicacin separada.
|==========
| 13%
| Como podrs notar el primer rengln del archivo contiene los nombres
de las
| columnas, en este caso los nombres de cada una de las variables de l
a observacin;
| adems, el archivo tiene delimitada cada variable de la observacin
por una coma.
...
|===========
| 15%
...
|=============
| 17%
...
|===============
| 20%
| Tu dedicacin es inspiradora!
|================
| 22%
...
|==================
| 24%
>
> datos_2 <- read.table("swirl_temp/inmigintnalpry.csv", header=TRUE,s
ep=",")
|====================
| 26%
| Este error es muy comn cuando intentas leer archivos que su conteni
do est en
| espaol; esto se debe a que usa otra codificacin para poder abarcar
ms smbolos
| que no usan otros idiomas, como en este caso la . Para poder leer a
rchivos que
| contengan , basta con especificar el argumento fileEncoding, el cua
l indica la
| codificacin del archivo a importar; en este caso, usars fileEncodi
ng = "latin1".
...
|=====================
| 28%
...
|=======================
| 30%
> View(datos)
|========================
| 33%
...
|==========================
| 35%
...
|============================
| 37%
...
|=============================
| 39%
| Si ests en Europa y usas comas para indicar punto decimal en los n
meros,
| entonces puedes usar read.cvs2() y read.delim2().
...
|===============================
| 41%
...
|=================================
| 43%
...
|==================================
| 46%
...
|====================================
| 48%
| Lo que puedes hacer es indicarle a read.table() que solo lea los pri
meros 100
| renglones del archivo; esto lo haces indicando el parmetro nrow. Ca
be recordar
| que debes especificar la codificacin del archivo, debido a que usa
caracteres
| especiales, tambin que el primer rengln son los nombres de la colu
mnas y que el
| delimitador es una coma. Ingresa inicial <-
| read.table("swirl_temp/inmigintnalpry.csv", header=TRUE, sep=",", fi
leEncoding =
| "latin1", nrow = 100) en la lnea de comandos.
|======================================
| 50%
...
|=======================================
| 52%
| Excelente trabajo!
|=========================================
| 54%
...
|==========================================
| 57%
| Para ver el contenido del objeto 'clases', basta con escribir clases
en la lnea
| de comandos.
> clases
renglon ao ent id_ent cvegeo sex
o edad
"integer" "integer" "factor" "integer" "integer" "factor
" "integer"
inmigintnal
"numeric"
| Eres el mejor!
|============================================
| 59%
| Por ltimo, con este vector de clases, leers todo el archivo usando
la funcin
| read.table, pero pasndole el argumento colClasses. Ingresa datos <-
| read.table("swirl_temp/inmigintnalpry.csv", header=TRUE, sep=",", fi
leEncoding =
| "latin1", colClasses=clases) en la lnea de comandos.
> datos <- read.table("swirl_temp/inmigintnalpry.csv", header=TRUE, se
p=",", fileEncoding ="latin1", colClasses=clases)
| Perseverancia es la respuesta.
|==============================================
| 61%
...
|===============================================
| 63%
|=================================================
| 65%
...
|===================================================
| 67%
...
|====================================================
| 70%
...
|======================================================
| 72%
> rm(datos,clases)
| Eres el mejor!
|=======================================================
| 74%
> ls()
[1] "datos_2" "datos2" "display_swirl_file"
[4] "find_course" "Ingresa_datos" "Ingresadatos"
[7] "inicial" "ok"
|=========================================================
| 76%
>
> load("swirl_temp/datos_inmigrates.RData")
| Eso es correcto!
|===========================================================
| 78%
| Y si ahora usas la funcin ls(), vers que estn presentes los objet
os 'datos' y
| 'clases'. Ingresa ls() en la lnea de comandos.
> ls()
[1] "clases" "datos" "datos_2"
[4] "datos2" "display_swirl_file" "find_course"
[7] "Ingresa_datos" "Ingresadatos" "inicial"
[10] "ok"
|============================================================
| 80%
...
|==============================================================
| 83%
...
|================================================================
| 85%
| Por ltimo, al igual que para importar datos existe la funcin read.
table(), para
| exportar datos a un archivo de texto existe la funcin write.table()
.
...
|=================================================================
| 87%
...
|===================================================================
| 89%
|===================================================================
= | 91%
...
|===================================================================
=== | 93%
...
|===================================================================
===== | 96%
...
|===================================================================
====== | 98%
| Si deseas, puedes jugar con las funciones write.*() para lograr que
datos.txt sea
| identico a inmigintnalpry.csv. Recuerda que para ver los parmetros
de write.*()
| puedes usar help(); por ejemplo, help(write.csv).
...
|===================================================================
========| 100%
...
|==
| 3%
...
|====
| 5%
...
|======
| 8%
...
|========
| 11%
> colors()
[1] "white" "aliceblue" "antiquewhite"
[4] "antiquewhite1" "antiquewhite2" "antiquewhite3"
[7] "antiquewhite4" "aquamarine" "aquamarine1"
[10] "aquamarine2" "aquamarine3" "aquamarine4"
[13] "azure" "azure1" "azure2"
[16] "azure3" "azure4" "beige"
[19] "bisque" "bisque1" "bisque2"
[22] "bisque3" "bisque4" "black"
[25] "blanchedalmond" "blue" "blue1"
[28] "blue2" "blue3" "blue4"
[31] "blueviolet" "brown" "brown1"
[34] "brown2" "brown3" "brown4"
[37] "burlywood" "burlywood1" "burlywood2"
[40] "burlywood3" "burlywood4" "cadetblue"
[43] "cadetblue1" "cadetblue2" "cadetblue3"
[46] "cadetblue4" "chartreuse" "chartreuse1"
[49] "chartreuse2" "chartreuse3" "chartreuse4"
[52] "chocolate" "chocolate1" "chocolate2"
[55] "chocolate3" "chocolate4" "coral"
[58] "coral1" "coral2" "coral3"
[61] "coral4" "cornflowerblue" "cornsilk"
[64] "cornsilk1" "cornsilk2" "cornsilk3"
[67] "cornsilk4" "cyan" "cyan1"
[70] "cyan2" "cyan3" "cyan4"
[73] "darkblue" "darkcyan" "darkgoldenrod"
[76] "darkgoldenrod1" "darkgoldenrod2" "darkgoldenrod3"
[79] "darkgoldenrod4" "darkgray" "darkgreen"
[82] "darkgrey" "darkkhaki" "darkmagenta"
[85] "darkolivegreen" "darkolivegreen1" "darkolivegreen2"
[88] "darkolivegreen3" "darkolivegreen4" "darkorange"
[91] "darkorange1" "darkorange2" "darkorange3"
[94] "darkorange4" "darkorchid" "darkorchid1"
[97] "darkorchid2" "darkorchid3" "darkorchid4"
[100] "darkred" "darksalmon" "darkseagreen"
[103] "darkseagreen1" "darkseagreen2" "darkseagreen3"
[106] "darkseagreen4" "darkslateblue" "darkslategray"
[109] "darkslategray1" "darkslategray2" "darkslategray3"
[112] "darkslategray4" "darkslategrey" "darkturquoise"
[115] "darkviolet" "deeppink" "deeppink1"
[118] "deeppink2" "deeppink3" "deeppink4"
[121] "deepskyblue" "deepskyblue1" "deepskyblue2"
[124] "deepskyblue3" "deepskyblue4" "dimgray"
[127] "dimgrey" "dodgerblue" "dodgerblue1"
[130] "dodgerblue2" "dodgerblue3" "dodgerblue4"
[133] "firebrick" "firebrick1" "firebrick2"
[136] "firebrick3" "firebrick4" "floralwhite"
[139] "forestgreen" "gainsboro" "ghostwhite"
[142] "gold" "gold1" "gold2"
[145] "gold3" "gold4" "goldenrod"
[148] "goldenrod1" "goldenrod2" "goldenrod3"
[151] "goldenrod4" "gray" "gray0"
[154] "gray1" "gray2" "gray3"
[157] "gray4" "gray5" "gray6"
[160] "gray7" "gray8" "gray9"
[163] "gray10" "gray11" "gray12"
[166] "gray13" "gray14" "gray15"
[169] "gray16" "gray17" "gray18"
[172] "gray19" "gray20" "gray21"
[175] "gray22" "gray23" "gray24"
[178] "gray25" "gray26" "gray27"
[181] "gray28" "gray29" "gray30"
[184] "gray31" "gray32" "gray33"
[187] "gray34" "gray35" "gray36"
[190] "gray37" "gray38" "gray39"
[193] "gray40" "gray41" "gray42"
[196] "gray43" "gray44" "gray45"
[199] "gray46" "gray47" "gray48"
[202] "gray49" "gray50" "gray51"
[205] "gray52" "gray53" "gray54"
[208] "gray55" "gray56" "gray57"
[211] "gray58" "gray59" "gray60"
[214] "gray61" "gray62" "gray63"
[217] "gray64" "gray65" "gray66"
[220] "gray67" "gray68" "gray69"
[223] "gray70" "gray71" "gray72"
[226] "gray73" "gray74" "gray75"
[229] "gray76" "gray77" "gray78"
[232] "gray79" "gray80" "gray81"
[235] "gray82" "gray83" "gray84"
[238] "gray85" "gray86" "gray87"
[241] "gray88" "gray89" "gray90"
[244] "gray91" "gray92" "gray93"
[247] "gray94" "gray95" "gray96"
[250] "gray97" "gray98" "gray99"
[253] "gray100" "green" "green1"
[256] "green2" "green3" "green4"
[259] "greenyellow" "grey" "grey0"
[262] "grey1" "grey2" "grey3"
[265] "grey4" "grey5" "grey6"
[268] "grey7" "grey8" "grey9"
[271] "grey10" "grey11" "grey12"
[274] "grey13" "grey14" "grey15"
[277] "grey16" "grey17" "grey18"
[280] "grey19" "grey20" "grey21"
[283] "grey22" "grey23" "grey24"
[286] "grey25" "grey26" "grey27"
[289] "grey28" "grey29" "grey30"
[292] "grey31" "grey32" "grey33"
[295] "grey34" "grey35" "grey36"
[298] "grey37" "grey38" "grey39"
[301] "grey40" "grey41" "grey42"
[304] "grey43" "grey44" "grey45"
[307] "grey46" "grey47" "grey48"
[310] "grey49" "grey50" "grey51"
[313] "grey52" "grey53" "grey54"
[316] "grey55" "grey56" "grey57"
[319] "grey58" "grey59" "grey60"
[322] "grey61" "grey62" "grey63"
[325] "grey64" "grey65" "grey66"
[328] "grey67" "grey68" "grey69"
[331] "grey70" "grey71" "grey72"
[334] "grey73" "grey74" "grey75"
[337] "grey76" "grey77" "grey78"
[340] "grey79" "grey80" "grey81"
[343] "grey82" "grey83" "grey84"
[346] "grey85" "grey86" "grey87"
[349] "grey88" "grey89" "grey90"
[352] "grey91" "grey92" "grey93"
[355] "grey94" "grey95" "grey96"
[358] "grey97" "grey98" "grey99"
[361] "grey100" "honeydew" "honeydew1"
[364] "honeydew2" "honeydew3" "honeydew4"
[367] "hotpink" "hotpink1" "hotpink2"
[370] "hotpink3" "hotpink4" "indianred"
[373] "indianred1" "indianred2" "indianred3"
[376] "indianred4" "ivory" "ivory1"
[379] "ivory2" "ivory3" "ivory4"
[382] "khaki" "khaki1" "khaki2"
[385] "khaki3" "khaki4" "lavender"
[388] "lavenderblush" "lavenderblush1" "lavenderblush2"
[391] "lavenderblush3" "lavenderblush4" "lawngreen"
[394] "lemonchiffon" "lemonchiffon1" "lemonchiffon2"
[397] "lemonchiffon3" "lemonchiffon4" "lightblue"
[400] "lightblue1" "lightblue2" "lightblue3"
[403] "lightblue4" "lightcoral" "lightcyan"
[406] "lightcyan1" "lightcyan2" "lightcyan3"
[409] "lightcyan4" "lightgoldenrod" "lightgoldenrod1"
[412] "lightgoldenrod2" "lightgoldenrod3" "lightgoldenrod4"
[415] "lightgoldenrodyellow" "lightgray" "lightgreen"
[418] "lightgrey" "lightpink" "lightpink1"
[421] "lightpink2" "lightpink3" "lightpink4"
[424] "lightsalmon" "lightsalmon1" "lightsalmon2"
[427] "lightsalmon3" "lightsalmon4" "lightseagreen"
[430] "lightskyblue" "lightskyblue1" "lightskyblue2"
[433] "lightskyblue3" "lightskyblue4" "lightslateblue"
[436] "lightslategray" "lightslategrey" "lightsteelblue"
[439] "lightsteelblue1" "lightsteelblue2" "lightsteelblue3"
[442] "lightsteelblue4" "lightyellow" "lightyellow1"
[445] "lightyellow2" "lightyellow3" "lightyellow4"
[448] "limegreen" "linen" "magenta"
[451] "magenta1" "magenta2" "magenta3"
[454] "magenta4" "maroon" "maroon1"
[457] "maroon2" "maroon3" "maroon4"
[460] "mediumaquamarine" "mediumblue" "mediumorchid"
[463] "mediumorchid1" "mediumorchid2" "mediumorchid3"
[466] "mediumorchid4" "mediumpurple" "mediumpurple1"
[469] "mediumpurple2" "mediumpurple3" "mediumpurple4"
[472] "mediumseagreen" "mediumslateblue" "mediumspringgreen
"
[475] "mediumturquoise" "mediumvioletred" "midnightblue"
[478] "mintcream" "mistyrose" "mistyrose1"
[481] "mistyrose2" "mistyrose3" "mistyrose4"
[484] "moccasin" "navajowhite" "navajowhite1"
[487] "navajowhite2" "navajowhite3" "navajowhite4"
[490] "navy" "navyblue" "oldlace"
[493] "olivedrab" "olivedrab1" "olivedrab2"
[496] "olivedrab3" "olivedrab4" "orange"
[499] "orange1" "orange2" "orange3"
[502] "orange4" "orangered" "orangered1"
[505] "orangered2" "orangered3" "orangered4"
[508] "orchid" "orchid1" "orchid2"
[511] "orchid3" "orchid4" "palegoldenrod"
[514] "palegreen" "palegreen1" "palegreen2"
[517] "palegreen3" "palegreen4" "paleturquoise"
[520] "paleturquoise1" "paleturquoise2" "paleturquoise3"
[523] "paleturquoise4" "palevioletred" "palevioletred1"
[526] "palevioletred2" "palevioletred3" "palevioletred4"
[529] "papayawhip" "peachpuff" "peachpuff1"
[532] "peachpuff2" "peachpuff3" "peachpuff4"
[535] "peru" "pink" "pink1"
[538] "pink2" "pink3" "pink4"
[541] "plum" "plum1" "plum2"
[544] "plum3" "plum4" "powderblue"
[547] "purple" "purple1" "purple2"
[550] "purple3" "purple4" "red"
[553] "red1" "red2" "red3"
[556] "red4" "rosybrown" "rosybrown1"
[559] "rosybrown2" "rosybrown3" "rosybrown4"
[562] "royalblue" "royalblue1" "royalblue2"
[565] "royalblue3" "royalblue4" "saddlebrown"
[568] "salmon" "salmon1" "salmon2"
[571] "salmon3" "salmon4" "sandybrown"
[574] "seagreen" "seagreen1" "seagreen2"
[577] "seagreen3" "seagreen4" "seashell"
[580] "seashell1" "seashell2" "seashell3"
[583] "seashell4" "sienna" "sienna1"
[586] "sienna2" "sienna3" "sienna4"
[589] "skyblue" "skyblue1" "skyblue2"
[592] "skyblue3" "skyblue4" "slateblue"
[595] "slateblue1" "slateblue2" "slateblue3"
[598] "slateblue4" "slategray" "slategray1"
[601] "slategray2" "slategray3" "slategray4"
[604] "slategrey" "snow" "snow1"
[607] "snow2" "snow3" "snow4"
[610] "springgreen" "springgreen1" "springgreen2"
[613] "springgreen3" "springgreen4" "steelblue"
[616] "steelblue1" "steelblue2" "steelblue3"
[619] "steelblue4" "tan" "tan1"
[622] "tan2" "tan3" "tan4"
[625] "thistle" "thistle1" "thistle2"
[628] "thistle3" "thistle4" "tomato"
[631] "tomato1" "tomato2" "tomato3"
[634] "tomato4" "turquoise" "turquoise1"
[637] "turquoise2" "turquoise3" "turquoise4"
[640] "violet" "violetred" "violetred1"
[643] "violetred2" "violetred3" "violetred4"
[646] "wheat" "wheat1" "wheat2"
[649] "wheat3" "wheat4" "whitesmoke"
[652] "yellow" "yellow1" "yellow2"
[655] "yellow3" "yellow4" "yellowgreen"
| Excelente trabajo!
|==========
| 14%
...
|============
| 16%
> help("grep")
| Excelente trabajo!
|==============
| 19%
...
|================
| 22%
| Muy bien!
|==================
| 24%
...
|====================
| 27%
> length(colors())
[1] 657
| Bien hecho!
|======================
| 30%
| Entonces ahora ya sabes que R tiene una gran lista de ms de 650 col
ores que
| puedes usar por nombre.
...
|========================
| 32%
...
|==========================
| 35%
...
|============================
| 38%
...
|==============================
| 41%
> palette()
[1] "black" "red" "green3" "blue" "cyan" "magenta" "yello
w" "gray"
| Excelente trabajo!
|================================
| 43%
| Es asombroso!
|==================================
| 46%
...
|====================================
| 49%
| Si usas un nmero ms grande que ocho para graficar, los colores ser
n reciclados.
| Comprubalo: ingresa plot(1:12, col=1:12, main="Colores reciclados",
pch=18,
| cex=3) en la lnea de comandos.
|=======================================
| 51%
...
|=========================================
| 54%
...
|===========================================
| 57%
...
|=============================================
| 59%
|===============================================
| 62%
> paleta_arcoiris
[1] "#FF0000FF" "#FF9900FF" "#CCFF00FF" "#33FF00FF" "#00FF66FF" "#00F
FFFFF"
[7] "#0066FFFF" "#3300FFFF" "#CC00FFFF" "#FF0099FF"
| Muy bien!
|=================================================
| 65%
...
|===================================================
| 68%
> palette(paleta_arcoiris)
|=====================================================
| 70%
> paleta_arcoiris
[1] "#FF0000FF" "#FF9900FF" "#CCFF00FF" "#33FF00FF" "#00FF66FF" "#00F
FFFFF"
[7] "#0066FFFF" "#3300FFFF" "#CC00FFFF" "#FF0099FF"
> palette()
[1] "red" "#FF9900" "#CCFF00" "#33FF00" "#00FF66" "cyan" "#006
6FF" "#3300FF"
[9] "#CC00FF" "#FF0099"
|=======================================================
| 73%
| Eso es correcto!
|===========================================================
| 78%
> paleta_calida
[1] "#FF0000FF" "#FF2400FF" "#FF4900FF" "#FF6D00FF" "#FF9200FF" "#FFB
600FF"
[7] "#FFDB00FF" "#FFFF00FF" "#FFFF40FF" "#FFFFBFFF"
> palette(paleta_calida)
| Excelente!
|=============================================================
| 81%
|===============================================================
| 84%
| Excelente!
|===================================================================
| 89%
> palette(mi_paleta)
|===================================================================
== | 92%
|===================================================================
==== | 95%
> palette("default")
| Bien hecho!
|===================================================================
====== | 97%
...
|===================================================================
========| 100%
Leccin 10
Selection: 10
|
| 0%
...
|===
| 4%
...
|=====
| 7%
|========
| 11%
| Excelente trabajo!
|===========
| 14%
> help("text")
| Eres el mejor!
|=============
| 18%
...
|================
| 21%
...
|===================
| 25%
| Buen trabajo!
|=====================
| 29%
| Otro aspecto importante son los tipos de fuentes que puedes usar. Un
a manera
| simple para cambiar los tipos de fuentes es usando el parmetro fami
ly. Ingresa
| text(7, 7, "Hola Mundo con Serif!", family="serif") en la lnea de
comandos.
| Acertaste!
|========================
| 32%
| Los valores comunes usados para el argumento family son "serif", "sa
ns", "mono" y
| "symbol". Ahora prueba la fuente "mono". Ingresa text(9, 9, "Hola M
undo con
| Mono!", family="mono") en la lnea de comandos.
| Bien hecho!
|===========================
| 36%
| Ahora ingresa text(13, 13, "Hola Mundo con Sans!", family="sans") e
n la lnea de
| comandos.
|=============================
| 39%
...
|================================
| 43%
...
|===================================
| 46%
...
|======================================
| 50%
> demo(plotmath)
demo(plotmath)
---- ~~~~~~~~
> nr <- 20
> nc <- 2
> i <- 0
$pty
[1] "s"
> i <- 0
> # Need even fewer, wider columns for typeface and style ...
> nr <- 20
> nc <- 1
$pty
[1] "s"
> i <- 0
> nr <- 10
> nc <- 1
$pty
[1] "s"
> i <- 4
> # Need fewer, taller rows and fewer, wider columns for big operators
...
> nr <- 10
> nc <- 1
$pty
[1] "s"
> i <- 0
$pty
[1] "s"
> i <- 0
> par(oldpar)
|========================================
| 54%
...
|===========================================
| 57%
| Acertaste!
|==============================================
| 61%
| Excelente trabajo!
|================================================
| 64%
> ?plotmath
|===================================================
| 68%
...
|======================================================
| 71%
> t <- 10
|========================================================
| 75%
|===========================================================
| 79%
...
|==============================================================
| 82%
> t <- 20
| Acertaste!
|================================================================
| 86%
|===================================================================
| 89%
...
|===================================================================
=== | 93%
| Esto es muy til si quieres obtener grficas donde alguno de los par
metros es
| diferente; as puedes generar mltiples grficas con distintos parm
etros y las
| etiquetas de stos pueden ir cambiando de acuerdo a los parmetros.
...
|===================================================================
===== | 96%
> ?substitute
| Bien hecho!
|===================================================================
========| 100%
1: No
2: Si
Leccin 11
Selection: 11
1: S
2: No
Selection: 1
|
| 0%
...
|===
| 4%
...
|======
| 8%
> data(iris)
| Eso es correcto!
|=========
| 12%
| Usa head(iris) para ver las primeras seis lneas de contenido de iri
s.
> head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
|============
| 17%
...
|================
| 21%
| Perseverancia es la respuesta.
|===================
| 25%
| Eres el mejor!
|======================
| 29%
|=========================
| 33%
...
|============================
| 38%
> ?rgl
|===============================
| 42%
| rgl incluye una interfaz de nivel superior llamada r3d. Esta interfa
z est
| diseada para actuar como los grficos clsicos 2D de R.
...
|==================================
| 46%
> open3d()
wgl
1
|======================================
| 50%
...
|=========================================
| 54%
|============================================
| 58%
...
|===============================================
| 62%
| Notars que algunos valores por defecto son el tipo de grfica (punt
os) y el color
| negro.
...
|==================================================
| 67%
|=====================================================
| 71%
| Los tipos soportados son 'p' para puntos, 's' para esferas, 'l' para
lneas, 'h'
| para segmentos de lnea con z = 0, y 'n' para nada.
...
|========================================================
| 75%
|===========================================================
| 79%
| Algo que debes saber es que si deseas graficar elemento por especie
no podrs
| enviarle al parmetro col iris$Species como lo habas estado haciend
o con la
| funcin plot(). Esta vez tendrs que tratar a iris$Species como ente
ros. Para
| hacer esto ingresa plot3d(iris$Sepal.Length, iris$Petal.Length, iris
$Sepal.Width,
| type="s", col=as.integer(iris$Species)) en la lnea de comandos.
| Muy bien!
|==============================================================
| 83%
...
|===================================================================
== | 92%
|===================================================================
===== | 96%
> help("plot3d")
|===================================================================
========| 100%
1: Si
2: No
Leccin 12
Selection: 12
|
| 0%
...
|==
| 3%
| Recuerda que una cadena contiene todo texto que se encuentre dentro
de un par de
| comillas. Guarda la cadena "Hola Mundo!" en la variable texto.
| Acertaste!
|====
| 5%
| Observa que una cadena es un vector de caracteres, pero no se puede
acceder
| directamente a sus elementos usando la notacin de indexado([]). Ing
resa texto[1]
| en la lnea de comandos para comprobar esto.
> texto[1]
[1] "Hola Mundo!"
|======
| 8%
> texto[2]
[1] NA
| Buen trabajo!
|========
| 11%
> ?substring
| Acertaste!
|==========
| 13%
| Eres el mejor!
|============
| 16%
| Excelente trabajo!
|==============
| 18%
|================
| 21%
> nchar(texto)
[1] 12
|==================
| 24%
| Perseverancia es la respuesta.
|====================
| 26%
| Debes de saber que por omisin estas cadenas son separadas por un es
pacio, pero
| puedes cambiar el comportamiento usando el argumento sep. Ingresa pa
ste("Adis",
| "Mundo!", sep="_") en la lnea de comandos.
| Es asombroso!
|======================
| 29%
...
|========================
| 32%
> i<-9
| Muy bien!
|==========================
| 34%
| Excelente trabajo!
|============================
| 37%
> ?sprintf
| Eso es correcto!
|==============================
| 39%
| Perseverancia es la respuesta.
|================================
| 42%
|==================================
| 45%
...
|====================================
| 47%
| Pero muchas otras lo que querrs hacer ser ms complejo, porque pue
de que en vez
| de ser un simple texto querrs reemplazar todas las palabras que ter
minen con a.
...
|======================================
| 50%
...
|=======================================
| 53%
...
|=========================================
| 55%
...
|===========================================
| 58%
| Por ejemplo, el grupo formado por las cadenas "Handel", "Hndel" y "
Haendel" se
| describe mediante el patrn "H(a||ae)ndel".
...
|=============================================
| 61%
...
|===============================================
| 63%
> patro<-"H(a||ae)ndel"
|=================================================
| 66%
...
|===================================================
| 68%
> musicos
[1] "Handel" "Mendel" "Haendel" "Hndel" "Handemore" "hande
l"
| Bien hecho!
|=====================================================
| 71%
| Bien hecho!
|=======================================================
| 74%
| Efectivamente grep() te regres las posiciones de las cadenas que co
ntienen el
| patrn "H(a||ae)ndel"; es decir, las posiciones de las cadenas "Han
del", "Hndel"
| , "Haendel".
...
|=========================================================
| 76%
...
|===========================================================
| 79%
...
|=============================================================
| 82%
| Acertaste!
|===============================================================
| 84%
> grep(nuevo_patron,musicos)
[1] 1 2 3 6
| Es asombroso!
|=================================================================
| 87%
| Es asombroso!
|===================================================================
| 89%
...
|===================================================================
== | 92%
|===================================================================
==== | 95%
| Las expresiones regulares pueden ser muy ricas e incluso muy complic
adas. El
| objetivo del curso no define que las veas a profundidad, pero puedes
ver cmo las
| utiliza R usando ?regexpr. Intntalo.
> ?regexpr
| Aqu puedes ver todas las expresiones que te sirven para utilizar ex
presiones
| regulares dentro del lenguaje con las funciones que acabas de ver.
...
|===================================================================
========| 100%
1: Si
2: No
Leccin 13
Selection: 13
|
| 0%
...
|==
| 3%
...
|====
| 6%
...
|======
| 9%
...
|=========
| 11%
...
|===========
| 14%
> data(diamonds)
| Muy bien!
|=============
| 17%
> View(diamonds)
| Acertaste!
|===============
| 20%
...
|=================
| 23%
| table indica la anchura de la parte superior del diamante con relaci
n al punto
| ms ancho, price representa el precio del diamante en dlares, x la
longitud en
| milmetros, y la anchura en milmetros, z la profundidad en milmetr
os y depth el
| porcentaje de profundidad total, es decir, z / mean(x, y) = 2 * z /
(x + y).
...
|===================
| 26%
| Dominar el paquete ggplot2 puede ser un reto, por lo que en este cur
so slo vers
| la funcin qplot() (quick plot), la cual es una funcin auxiliar, ya
que esconde
| mucha de su complejidad cuando crea grficos estndares.
...
|=====================
| 29%
| La funcin qplot() puede ser usada para crear los tipos de grficas
ms comunes.
| Mientras que no expone las grandes capacidades de ggplot2, puede cre
ar un gran
| rango de grficas tiles.
...
|========================
| 31%
> ?qplot
|==========================
| 34%
| Acertaste!
|============================
| 37%
|==============================
| 40%
| Puedes ver que hay mucha saturacin por la gran cantidad de datos qu
e hay al usar
| el dataset completo.
...
|================================
| 43%
| Buen trabajo!
|==================================
| 46%
>
> qplot(carat, x*y*z, data=diamonds)
|====================================
| 49%
|=======================================
| 51%
| Adems del color otro atributo esttico que tiene qplot() es shape;
shape se
| refiere a la forma con la que va a pintar los puntos qplot(); en la
grfica por
| ejemplo shape tambin es muy bueno para poder mapear caractersticas
categricas a
| una caracterstica grfica.
...
|=========================================
| 54%
| Puedes mapear cada uno de los cortes distintos de los diamantes que
tienes a una
| figura distinta. Ingresa qplot(carat, price, data=diamonds, shape=cu
t) en la lnea
| de comandos.
| Bien hecho!
|===========================================
| 57%
|=============================================
| 60%
...
|===============================================
| 63%
| Eres el mejor!
|=================================================
| 66%
| size, es un atributo que indica el tamao, por lo que si usas size=t
able te
| pintar los puntos de diferente tamao. Ingresa qplot(carat, price,
data=diamonds,
| size=table) en la lnea de comandos.
| Excelente!
|===================================================
| 69%
...
|======================================================
| 71%
...
|========================================================
| 74%
|==========================================================
| 77%
...
|============================================================
| 80%
...
|==============================================================
| 83%
|================================================================
| 86%
...
|==================================================================
| 89%
|===================================================================
== | 91%
| Es asombroso!
|===================================================================
==== | 94%
| Otros dos valores importantes que puede tomar geom son "line" y "pat
h".
...
|===================================================================
====== | 97%
...
|===================================================================
========| 100%
1: Si
2: No
Leccion 14
Selection: 14
|
| 0%
...
|===
| 4%
> ?Normal
...
|========
| 11%
...
|===========
| 14%
...
|=============
| 18%
|================
| 21%
> help(Distributions)
| Tu dedicacin es inspiradora!
|===================
| 25%
...
|=====================
| 29%
...
|========================
| 32%
...
|===========================
| 36%
| Recuerda que el lanzamiento de una moneda puede ser modelado por una
variable
| aleatoria bernoulli.
...
|=============================
| 39%
...
|================================
| 43%
...
|===================================
| 46%
| En este caso puedes usar n=7 que son los 7 lanzamientos de la moneda
.
...
|======================================
| 50%
| Ahora vas a generar esos nmeros aleatorios usando la funcin rbinom
(). Antes que
| nada ingresa ?rbinom en la lnea de comandos para conocer su uso.
> ?rbinom
| Buen trabajo!
|========================================
| 54%
...
|===========================================
| 57%
| Eres el mejor!
|==============================================
| 61%
...
|================================================
| 64%
...
|===================================================
| 68%
| Con R lo puedes justificar de manera intuitiva, aplicando este exper
imento muchas
| veces. En este caso repite el experimento 100 000 veces y gurdalo e
n la variable
| 'resultado'.
|======================================================
| 71%
> tail(resultado)
[1] 2 5 3 3 3 4
| Excelente!
|========================================================
| 75%
| Una vez teniendo los resultados de aplicar este experimento 100 000
veces, puedes
| encontrar cuntos de esos experimentos tuvieron 5 veces o ms xito.
Ingresa
| tail(resultado > 5) en la lnea de comandos.
|===========================================================
| 79%
| Bien hecho!
|==============================================================
| 82%
...
|================================================================
| 86%
| Te preguntars cmo sacaste la media de un vector de valores lgicos
; recuerda que
| esto es posible debido a la coercin.
...
|===================================================================
| 89%
| Por ltimo, es posible que desees que tus resultados sean replicable
s. La funcin
| set.seed() te permite establecer el punto de inicio en la generacin
de nmeros
| aleatorios. Ingresa ?set.seed en la lnea de comandos.
> ?set.seed()
> ?set.seed
| Muy bien!
|===================================================================
=== | 93%
...
|===================================================================
===== | 96%
...
|===================================================================
========| 100%
1: Si
2: No