forked from wintergenomics/wbs-rbioinfo
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path06-dataframes.Rmd
More file actions
114 lines (81 loc) · 2.91 KB
/
06-dataframes.Rmd
File metadata and controls
114 lines (81 loc) · 2.91 KB
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
# Data.frames
Es una estructura de tipo tabular, que permite el uso de diferentes tipos de datos. Combina listas de vectores de la misma longitud.
Ejemplo, en una encuesta se tienen preguntas como las siguientes con sus respectivas respuestas:
- ¿Está vacunado para Influenza? : **sí/no (lógicos)**
- ¿Año de nacimiento? : **1990, 1981, 2000, 1952 (numérico)**
- ¿Nacionalidad?: **Chi, Rus, Mex, USA (caracteres)**
## Características de los data.frames
- Los nombres de columna no deben estar vacíos
- Los nombres de las filas deben ser **únicos**
- Los datos almacenados en un dataframe pueden ser de tipo numérico, factor o carácter.
- Cada columna debe contener el mismo número de elementos de datos
## Creación de un data.frame
Crear data.frame *"TipoDatos"* a partir de los siguientes vectores:
```{r}
origen <- c("Chi", "Rus", "Mex", "USA")
vacunado <- c(FALSE, TRUE, TRUE, TRUE)
fecha <- c("1990", "1981", "2000", "1952")
TipoDatos <- data.frame(origen, vacunado, fecha)
TipoDatos
```
`str()` Brinda información sobre la estructura del data.frame.
```{r}
str(TipoDatos)
```
Para acceder a una columna de un data.frame, utilizamos el símbolo de pesos:
```{r}
TipoDatos$fecha
```
Otra forma de acceder a los elementos de un data.frames es mediante corchetes. Recordemos que esta nomenclatura la estudiamos en el capítulo anterior de Matrices.
```{r}
TipoDatos[,3]
```
De manera similar, para acceder a una fila de un data.frame utilizamos los corchetes, donde `[fila, columna]`.
```{r}
TipoDatos[2,]
```
## Extracción de datos de un data.frame
### Extracción de datos por columna
Crear un nuevo data.frame llamado "result" que contenga todos los datos de las columnas origen y fecha.
```{r}
result <- data.frame(TipoDatos$origen,TipoDatos$fecha)
result
```
### Extracción de datos por filas
Extraer todos los datos de las filas 1 y 2.
```{r}
subsets <- TipoDatos[1:2,]
subsets
```
## Combinar data.frames
Creamos un segundo data.frame llamado *"TipoDatos2"*.
```{r}
cobertura <- c("NA", "Pandemica", "Estacional", "NA")
edad <- factor(c("60", "50", "80", "20"), ordered = TRUE)
TipoDatos2 <- data.frame(cobertura, edad)
TipoDatos2
```
Con `cbind()` unimos dos data.frames del mismo tamaño mediante columnas. En este caso uniremos los data.frames `TipoDatos` y `TipoDatos2`.
```{r}
datosfinales <- cbind(TipoDatos,TipoDatos2)
datosfinales
```
## Subset de datos
`subset()` permite filtrar o extraer los datos que cumplen con un parámetro particular.
Si queremos obtener los datos de los pacientes menores a 60 años usamos:
```{r}
subset(datosfinales, subset=edad <60)
```
Si queremos obtener los datos de los pacientes vacunados usamos:
```{r}
subset(datosfinales, subset=vacunado)
```
Estos resultados los podemos guardar en distantas variables
```{r}
pacientes_edad<- subset(datosfinales, subset=edad <60)
pacientes_edad
```
```{r}
pacientes_vacunados<- subset(datosfinales, subset=vacunado)
pacientes_vacunados
```