-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path03-obj_atbr.Rmd
200 lines (146 loc) · 4.73 KB
/
03-obj_atbr.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
---
output:
pdf_document: default
html_document: default
---
# Objetos
Todos los elementos que maneja R se llaman objetos
En términos prácticos:
Es un nombre que almacena cualquier tipo y cantidad de datos (inputs o outputs) con atributos específicos.
## Creación de objetos
En R podemos asignar valores a objetos con el siguiente símbolo para la asignación `<-`
Ejemplo:
```{r}
x <- 1
```
Donde x es la variable y 1 es el objeto
**¿Cuál sería otra forma de mostrar el valor de x usando una función?**
Es importante mantener la estructura de la función u operación, y en ocasiones no importa agregar más espacios, por ejemplo:
```{r}
y <- 1 + 2
y
```
Al incluir más espacios, sigue produciendo el mismo resultado
```{r}
y <- 1 + 3
y
```
### Ejercicio
Asigna el resultado de multiplicar 2 por 8 a la variable cromosomas
```{r}
cromosomas <- 2*8
cromosomas
```
Ahora asigna el valor 3400 a la variable cromosomas.
Para R, no es lo mismo: Juan y “Juan”.
Juan (sin comillas) es el nombre de un objeto
## Tipos de datos en R
```{r, echo=F, eval=T, results='hide'}
tdata<- c("Caracter", "Numérico", "Lógico")
dato<- c("Id de paciente", "Cigarrillos por día", "¿Fumador?")
ejem<- c ('"Alejandra", "IMSS_311"', "9, 4.15, 1000", "TRUE (T), FALSE (F)")
tddf <- data.frame(Tipos= tdata, Dato=dato, Ejemplo=ejem)
tddf
```
```{r, echo=FALSE}
knitr::kable(
tddf, booktabs = TRUE)
```
**NUMÉRICO**
Agrega un valor numérico a la variable mi_numero
```{r}
mi_numero <- 30
```
**CARACTER**
Agrega la siguiente palabra a mi_caracter: Mexico
```{r}
mi_caracter <- "Mexico"
```
**NOTA: Cuando usamos texto debemos escribirlo entre " " (comillas)**
**LÓGICO**
Agrega el valor lógico
```{r}
mi_logico <- TRUE
```
Podemos conocer la clase a la que corresponde cada uno de nuestros datos con la función `class()`
```{r}
class(mi_numero)
```
```{r}
class(mi_caracter)
```
```{r}
class(mi_logico)
```
Es posible convertir la clase de un objeto usando las siguientes funciones:
- `as.numeric()`
- `as.logical()`
- `as.character()`
- `as.integer()`
**Ejemplo**
Convierte `mi_numero` a caracter usando la función `as.character()`
```{r}
mi_numero
```
```{r}
class(mi_numero)
```
```{r}
as.character(mi_numero)
```
## Tipos de objetos en R
- **Vectores:** Son secuencias uni-dimensionales de elementos.
- **Matrices:** Son objetos de bi-dimensionales. El contenido de este objeto debe de ser de un solo tipo de datos.
- **Factores:** Son vectores de tipo categóricos, pueden contener datos numéricos, integrales o caracteres.
- **Listas:** Las listas son parecidas a los vectores, pero a diferencia de estas, no tienen que contener el mismo tipo de datos.
- **Data frames:** Es una matriz pero puede contener datos de diferentes tipos, ya sea numéricos o tipo carácter.
```{r, echo=F, eval=T, results='hide'}
tdd<- c("Vector", "Matriz", "Data.frame", "Listas")
ej<- c("c(“Mary”,”Juan”, … )", "matrix(37, 20, 25, 17, … )", "data.frame(ID_Pacientes, cigarrillos por día, Fumador)", "list(mi_vector, mi_matriz, mi_dataframe, mi gráfico)")
desc<- c("Colección de datos en serie", "Vector ordenado por filas y columnas", "Colección de vectores ordenados por columnas; todos los vectores deben ser de la misma longitud", "Son contenedores generales de datos. Muy flexibles, pero sin estructura")
todf <- data.frame(Tipos= tdd, Ejemplo=ej, Descripción=desc)
todf
```
```{r, echo=FALSE}
knitr::kable(
todf, booktabs = TRUE)
```
## Atributos de los objetos
Los atributos de los objetos pueden ser:
- Nombres
- Dimensiones
- Clases
- Longitud
- Otros atributos definidos por el usuario
Se pueden acceder a estos atributos usando la función `attributes()`
## Operadores
### Operadores artiméticos
```{r, echo=F, eval=T, results='hide'}
aritm<- c("+","-", "*", "/", "^", "%%", "%/%")
desc<- c("Adición", "Substracción", "Multiplicación", "División", "Exponente", "Residuo de división", "División entera")
aritdf <- data.frame(Aritmético= aritm, Descripción=desc)
```
```{r, echo=FALSE}
knitr::kable(
aritdf, booktabs = TRUE)
```
### Operadores Relacionales
```{r, echo=F, eval=T, results='hide'}
rel<- c("<",">","<=", ">=", "==", "!=")
desc_rel<- c("Menor que", "Mayor que", "Menor o igual que", "Mayor o igual que", "Igual que", "No igual que")
reldf <- data.frame(Relacionales= rel, Descripción=desc_rel)
```
```{r, echo=FALSE}
knitr::kable(
reldf, booktabs = TRUE)
```
### Operadores Lógicos
```{r, echo=F, eval=T, results='hide'}
logi<- c("!", "&", "&&", "|", "||")
desc_log<- c("No lógico", "Y lógico por elemento", "Y lógico", "O lógico por elemento", "O lógico")
logdf <- data.frame(Lógico= logi, Descripción=desc_log)
```
```{r, echo=FALSE}
knitr::kable(
logdf, booktabs = TRUE)
```