Si queremos crear vectores en R, utilizamos la función c. En este caso, la c es de combinar (combinar uno o mÔs valores o elementos). # Vectores

# Creando vectores en R con la función 'c'
x <- c(12, 6)
y <- c(2, 13)
y
## [1]  2 13
x
## [1] 12  6
#concatenar 
c(y, x)
## [1]  2 13 12  6
#Comparando dos vectores
x<y
## [1] FALSE  TRUE
x>y
## [1]  TRUE FALSE

crear vector carƔcter con nombre

nombre <- c("octavio", "daniel", "alfredo")
nombre
## [1] "octavio" "daniel"  "alfredo"
# crear vector numƩrico
numerico<-c("1","2","3","4")
numerico
## [1] "1" "2" "3" "4"
# crear vector lógico 
logico<- c(FALSE, FALSE, TRUE, TRUE)
logico
## [1] FALSE FALSE  TRUE  TRUE

podemos calcular cuÔntos elementos tiene un vector con la función length, o longitud.

length(numerico)
## [1] 4
length(logico)
## [1] 4

ordenar vector con funcion sort

sort(nombre)
## [1] "alfredo" "daniel"  "octavio"

ejemplo de vectores con base de fallecidos covid Peru

distancia <- c(241, 284, 220, 272, 271, 268,
               291, 241, 286, 285, 259, 299,
               253, 239, 277, 263, 267, 272)

distancia
##  [1] 241 284 220 272 271 268 291 241 286 285 259 299 253 239 277 263 267 272
sort(distancia)
##  [1] 220 239 241 241 253 259 263 267 268 271 272 272 277 284 285 286 291 299
length(distancia)
## [1] 18
mean(distancia)
## [1] 266
x<-mean(distancia)
x
## [1] 266

hacer histograma

#grafica de histograma

hist(distancia,main ="Histograma de frecuencias",col="red" ,ylab = "Densidad",ylim = c(0,5))

plot(distancia,main ="Histograma de frecuencias",col="blue",)

Librerias

library(readxl) # read_excel
library(writexl) # write_xlsx
## Warning: package 'writexl' was built under R version 4.2.3
library(knitr)
library(tidyverse) #%>%
## Warning: package 'tidyverse' was built under R version 4.2.3
## Warning: package 'ggplot2' was built under R version 4.2.3
## Warning: package 'tibble' was built under R version 4.2.3
## Warning: package 'dplyr' was built under R version 4.2.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## āœ” dplyr     1.1.1     āœ” readr     2.1.4
## āœ” forcats   1.0.0     āœ” stringr   1.5.0
## āœ” ggplot2   3.4.4     āœ” tibble    3.2.1
## āœ” lubridate 1.9.2     āœ” tidyr     1.3.0
## āœ” purrr     1.0.1     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## āœ– dplyr::filter() masks stats::filter()
## āœ– dplyr::lag()    masks stats::lag()
## ℹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(dplyr)  # selec, mutate,...
library(psych) # describe()
## 
## Attaching package: 'psych'
## 
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
library(FSA) # Summarize()
## Warning: package 'FSA' was built under R version 4.2.3
## ## FSA v0.9.5. See citation('FSA') if used in publication.
## ## Run fishR() for related website and fishR('IFAR') for related book.
## 
## Attaching package: 'FSA'
## 
## The following object is masked from 'package:psych':
## 
##     headtail
library(data.table)
## Warning: package 'data.table' was built under R version 4.2.3
## 
## Attaching package: 'data.table'
## 
## The following objects are masked from 'package:lubridate':
## 
##     hour, isoweek, mday, minute, month, quarter, second, wday, week,
##     yday, year
## 
## The following objects are masked from 'package:dplyr':
## 
##     between, first, last
## 
## The following object is masked from 'package:purrr':
## 
##     transpose
library(flextable)
## Warning: package 'flextable' was built under R version 4.2.3
## 
## Attaching package: 'flextable'
## 
## The following object is masked from 'package:purrr':
## 
##     compose
#library(xlsxjars) #write.xlsx
#library(rJava)
#library(xlsx)
#require(xlsx)
fallecidos_covid_Peru <- read_excel("C:/Users/octa1/Downloads/INTRODUCCION SDE SOTWARE/fallecidos_covid_Peru.xlsx")

View(fallecidos_covid_Peru) ##permite visualizar los datos contenidos en un objeto fallecidos covid Peru.

attach(fallecidos_covid_Peru) #como tomar base datos,junto con sus variables

class(fallecidos_covid_Peru)##permite visualizar los datos contenidos en un objeto res en fallecido covid peru,tbl_df un marco de datos ,data.frame estructura de datos que almacena diferentes tipos de datos en columnas y filas. 
## [1] "tbl_df"     "tbl"        "data.frame"
head(fallecidos_covid_Peru)#leer datos
## # A tibble: 6 Ɨ 9
##   FECHA_CORTE UUID            FECHA_FALLECIMIENTO EDAD_DECLARADA SEXO  FECHA_NAC
##         <dbl> <chr>                         <dbl>          <dbl> <chr>     <dbl>
## 1    20200918 7320cabdc1aaca…            20200319             78 MASC…  19411013
## 2    20200918 e81602051997ac…            20200319             69 MASC…  19510305
## 3    20200918 cecdbf10074dbc…            20200321             83 MASC…  19390817
## 4    20200918 71ecb6bccb248b…            20200324             65 FEME…  19540104
## 5    20200918 566af4276cbe93…            20200324             76 MASC…        NA
## 6    20200918 027561e9d126e7…            20200324             94 MASC…  19251206
## # ℹ 3 more variables: DEPARTAMENTO <chr>, PROVINCIA <chr>, DISTRITO <chr>
dim(fallecidos_covid_Peru) #dimenciones de datos que estan almacenados
## [1] 31369     9
#9 variables y 31369 datos, 9 variables que sta en filas, 31369 datos en columnas

Exportación de bases de fallecidos covid Peru

res<-table(SEXO,EDAD_DECLARADA)#res le asigno a table, adentro selecciono las variables que quiero,selecciono sexo edaddeclara 

View(res)#permite visualizar los datos contenidos en un objeto res

class(res)#permite visualizar los datos contenidos en un objeto res
## [1] "table"
res<-as.data.frame(res)#crear un base de datos con el nombre res.

class(res)#dlases de data frame
## [1] "data.frame"

1.2 Manejo de vectores y matrices

AnƔlisis

table(SEXO) # Vector
## SEXO
##  FEMENINO MASCULINO 
##      9366     22003
table(EDAD_DECLARADA) # vector
## EDAD_DECLARADA
##   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19 
##  14  11   9   6   9   6   4   8   6   7   8   4   6   2   7   8   5  12   8   6 
##  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39 
##  14  15  22  29  24  20  27  33  42  28  50  52  81  64  94  76  69 109 119 149 
##  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59 
## 141 198 174 211 225 291 275 296 354 370 395 434 449 496 542 622 632 713 666 743 
##  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79 
## 809 857 820 914 833 952 936 871 877 907 842 825 855 882 811 774 727 723 614 627 
##  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 
## 657 583 547 490 482 445 379 343 294 271 215 161 165 112  83  67  39  26  25  18 
## 100 101 102 103 104 107 108 
##   8   6   1   1   3   1   1
summary(EDAD_DECLARADA)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00   57.00   67.00   65.85   76.00  108.00
edad.m<-data.frame(table(EDAD_DECLARADA))

edad.m%>% #%>% pipa para expresar una secuencia de isntruciones.library tidyverse) #%>%
  flextable()

EDAD_DECLARADA

Freq

0

14

1

11

2

9

3

6

4

9

5

6

6

4

7

8

8

6

9

7

10

8

11

4

12

6

13

2

14

7

15

8

16

5

17

12

18

8

19

6

20

14

21

15

22

22

23

29

24

24

25

20

26

27

27

33

28

42

29

28

30

50

31

52

32

81

33

64

34

94

35

76

36

69

37

109

38

119

39

149

40

141

41

198

42

174

43

211

44

225

45

291

46

275

47

296

48

354

49

370

50

395

51

434

52

449

53

496

54

542

55

622

56

632

57

713

58

666

59

743

60

809

61

857

62

820

63

914

64

833

65

952

66

936

67

871

68

877

69

907

70

842

71

825

72

855

73

882

74

811

75

774

76

727

77

723

78

614

79

627

80

657

81

583

82

547

83

490

84

482

85

445

86

379

87

343

88

294

89

271

90

215

91

161

92

165

93

112

94

83

95

67

96

39

97

26

98

25

99

18

100

8

101

6

102

1

103

1

104

3

107

1

108

1

hist(EDAD_DECLARADA, main="Población total")

res<-table(SEXO,EDAD_DECLARADA)

res<-as.data.frame(res)
res%>% 
  flextable()

SEXO

EDAD_DECLARADA

Freq

FEMENINO

0

8

MASCULINO

0

6

FEMENINO

1

4

MASCULINO

1

7

FEMENINO

2

6

MASCULINO

2

3

FEMENINO

3

2

MASCULINO

3

4

FEMENINO

4

3

MASCULINO

4

6

FEMENINO

5

4

MASCULINO

5

2

FEMENINO

6

1

MASCULINO

6

3

FEMENINO

7

1

MASCULINO

7

7

FEMENINO

8

3

MASCULINO

8

3

FEMENINO

9

3

MASCULINO

9

4

FEMENINO

10

3

MASCULINO

10

5

FEMENINO

11

2

MASCULINO

11

2

FEMENINO

12

2

MASCULINO

12

4

FEMENINO

13

2

MASCULINO

13

0

FEMENINO

14

4

MASCULINO

14

3

FEMENINO

15

4

MASCULINO

15

4

FEMENINO

16

2

MASCULINO

16

3

FEMENINO

17

1

MASCULINO

17

11

FEMENINO

18

3

MASCULINO

18

5

FEMENINO

19

4

MASCULINO

19

2

FEMENINO

20

3

MASCULINO

20

11

FEMENINO

21

6

MASCULINO

21

9

FEMENINO

22

6

MASCULINO

22

16

FEMENINO

23

13

MASCULINO

23

16

FEMENINO

24

15

MASCULINO

24

9

FEMENINO

25

5

MASCULINO

25

15

FEMENINO

26

10

MASCULINO

26

17

FEMENINO

27

13

MASCULINO

27

20

FEMENINO

28

16

MASCULINO

28

26

FEMENINO

29

4

MASCULINO

29

24

FEMENINO

30

15

MASCULINO

30

35

FEMENINO

31

23

MASCULINO

31

29

FEMENINO

32

24

MASCULINO

32

57

FEMENINO

33

24

MASCULINO

33

40

FEMENINO

34

33

MASCULINO

34

61

FEMENINO

35

21

MASCULINO

35

55

FEMENINO

36

20

MASCULINO

36

49

FEMENINO

37

26

MASCULINO

37

83

FEMENINO

38

28

MASCULINO

38

91

FEMENINO

39

42

MASCULINO

39

107

FEMENINO

40

48

MASCULINO

40

93

FEMENINO

41

49

MASCULINO

41

149

FEMENINO

42

41

MASCULINO

42

133

FEMENINO

43

46

MASCULINO

43

165

FEMENINO

44

59

MASCULINO

44

166

FEMENINO

45

70

MASCULINO

45

221

FEMENINO

46

72

MASCULINO

46

203

FEMENINO

47

76

MASCULINO

47

220

FEMENINO

48

87

MASCULINO

48

267

FEMENINO

49

94

MASCULINO

49

276

FEMENINO

50

89

MASCULINO

50

306

FEMENINO

51

113

MASCULINO

51

321

FEMENINO

52

92

MASCULINO

52

357

FEMENINO

53

109

MASCULINO

53

387

FEMENINO

54

134

MASCULINO

54

408

FEMENINO

55

151

MASCULINO

55

471

FEMENINO

56

156

MASCULINO

56

476

FEMENINO

57

185

MASCULINO

57

528

FEMENINO

58

186

MASCULINO

58

480

FEMENINO

59

188

MASCULINO

59

555

FEMENINO

60

204

MASCULINO

60

605

FEMENINO

61

214

MASCULINO

61

643

FEMENINO

62

250

MASCULINO

62

570

FEMENINO

63

290

MASCULINO

63

624

FEMENINO

64

254

MASCULINO

64

579

FEMENINO

65

294

MASCULINO

65

658

FEMENINO

66

292

MASCULINO

66

644

FEMENINO

67

239

MASCULINO

67

632

FEMENINO

68

293

MASCULINO

68

584

FEMENINO

69

276

MASCULINO

69

631

FEMENINO

70

256

MASCULINO

70

586

FEMENINO

71

263

MASCULINO

71

562

FEMENINO

72

264

MASCULINO

72

591

FEMENINO

73

271

MASCULINO

73

611

FEMENINO

74

250

MASCULINO

74

561

FEMENINO

75

252

MASCULINO

75

522

FEMENINO

76

216

MASCULINO

76

511

FEMENINO

77

224

MASCULINO

77

499

FEMENINO

78

193

MASCULINO

78

421

FEMENINO

79

219

MASCULINO

79

408

FEMENINO

80

222

MASCULINO

80

435

FEMENINO

81

189

MASCULINO

81

394

FEMENINO

82

173

MASCULINO

82

374

FEMENINO

83

162

MASCULINO

83

328

FEMENINO

84

169

MASCULINO

84

313

FEMENINO

85

150

MASCULINO

85

295

FEMENINO

86

132

MASCULINO

86

247

FEMENINO

87

131

MASCULINO

87

212

FEMENINO

88

101

MASCULINO

88

193

FEMENINO

89

95

MASCULINO

89

176

FEMENINO

90

76

MASCULINO

90

139

FEMENINO

91

67

MASCULINO

91

94

FEMENINO

92

61

MASCULINO

92

104

FEMENINO

93

44

MASCULINO

93

68

FEMENINO

94

34

MASCULINO

94

49

FEMENINO

95

33

MASCULINO

95

34

FEMENINO

96

17

MASCULINO

96

22

FEMENINO

97

12

MASCULINO

97

14

FEMENINO

98

10

MASCULINO

98

15

FEMENINO

99

11

MASCULINO

99

7

FEMENINO

100

4

MASCULINO

100

4

FEMENINO

101

2

MASCULINO

101

4

FEMENINO

102

1

MASCULINO

102

0

FEMENINO

103

1

MASCULINO

103

0

FEMENINO

104

1

MASCULINO

104

2

FEMENINO

107

0

MASCULINO

107

1

FEMENINO

108

0

MASCULINO

108

1

res<-as.data.frame(res)

res%>% 
  flextable()

SEXO

EDAD_DECLARADA

Freq

FEMENINO

0

8

MASCULINO

0

6

FEMENINO

1

4

MASCULINO

1

7

FEMENINO

2

6

MASCULINO

2

3

FEMENINO

3

2

MASCULINO

3

4

FEMENINO

4

3

MASCULINO

4

6

FEMENINO

5

4

MASCULINO

5

2

FEMENINO

6

1

MASCULINO

6

3

FEMENINO

7

1

MASCULINO

7

7

FEMENINO

8

3

MASCULINO

8

3

FEMENINO

9

3

MASCULINO

9

4

FEMENINO

10

3

MASCULINO

10

5

FEMENINO

11

2

MASCULINO

11

2

FEMENINO

12

2

MASCULINO

12

4

FEMENINO

13

2

MASCULINO

13

0

FEMENINO

14

4

MASCULINO

14

3

FEMENINO

15

4

MASCULINO

15

4

FEMENINO

16

2

MASCULINO

16

3

FEMENINO

17

1

MASCULINO

17

11

FEMENINO

18

3

MASCULINO

18

5

FEMENINO

19

4

MASCULINO

19

2

FEMENINO

20

3

MASCULINO

20

11

FEMENINO

21

6

MASCULINO

21

9

FEMENINO

22

6

MASCULINO

22

16

FEMENINO

23

13

MASCULINO

23

16

FEMENINO

24

15

MASCULINO

24

9

FEMENINO

25

5

MASCULINO

25

15

FEMENINO

26

10

MASCULINO

26

17

FEMENINO

27

13

MASCULINO

27

20

FEMENINO

28

16

MASCULINO

28

26

FEMENINO

29

4

MASCULINO

29

24

FEMENINO

30

15

MASCULINO

30

35

FEMENINO

31

23

MASCULINO

31

29

FEMENINO

32

24

MASCULINO

32

57

FEMENINO

33

24

MASCULINO

33

40

FEMENINO

34

33

MASCULINO

34

61

FEMENINO

35

21

MASCULINO

35

55

FEMENINO

36

20

MASCULINO

36

49

FEMENINO

37

26

MASCULINO

37

83

FEMENINO

38

28

MASCULINO

38

91

FEMENINO

39

42

MASCULINO

39

107

FEMENINO

40

48

MASCULINO

40

93

FEMENINO

41

49

MASCULINO

41

149

FEMENINO

42

41

MASCULINO

42

133

FEMENINO

43

46

MASCULINO

43

165

FEMENINO

44

59

MASCULINO

44

166

FEMENINO

45

70

MASCULINO

45

221

FEMENINO

46

72

MASCULINO

46

203

FEMENINO

47

76

MASCULINO

47

220

FEMENINO

48

87

MASCULINO

48

267

FEMENINO

49

94

MASCULINO

49

276

FEMENINO

50

89

MASCULINO

50

306

FEMENINO

51

113

MASCULINO

51

321

FEMENINO

52

92

MASCULINO

52

357

FEMENINO

53

109

MASCULINO

53

387

FEMENINO

54

134

MASCULINO

54

408

FEMENINO

55

151

MASCULINO

55

471

FEMENINO

56

156

MASCULINO

56

476

FEMENINO

57

185

MASCULINO

57

528

FEMENINO

58

186

MASCULINO

58

480

FEMENINO

59

188

MASCULINO

59

555

FEMENINO

60

204

MASCULINO

60

605

FEMENINO

61

214

MASCULINO

61

643

FEMENINO

62

250

MASCULINO

62

570

FEMENINO

63

290

MASCULINO

63

624

FEMENINO

64

254

MASCULINO

64

579

FEMENINO

65

294

MASCULINO

65

658

FEMENINO

66

292

MASCULINO

66

644

FEMENINO

67

239

MASCULINO

67

632

FEMENINO

68

293

MASCULINO

68

584

FEMENINO

69

276

MASCULINO

69

631

FEMENINO

70

256

MASCULINO

70

586

FEMENINO

71

263

MASCULINO

71

562

FEMENINO

72

264

MASCULINO

72

591

FEMENINO

73

271

MASCULINO

73

611

FEMENINO

74

250

MASCULINO

74

561

FEMENINO

75

252

MASCULINO

75

522

FEMENINO

76

216

MASCULINO

76

511

FEMENINO

77

224

MASCULINO

77

499

FEMENINO

78

193

MASCULINO

78

421

FEMENINO

79

219

MASCULINO

79

408

FEMENINO

80

222

MASCULINO

80

435

FEMENINO

81

189

MASCULINO

81

394

FEMENINO

82

173

MASCULINO

82

374

FEMENINO

83

162

MASCULINO

83

328

FEMENINO

84

169

MASCULINO

84

313

FEMENINO

85

150

MASCULINO

85

295

FEMENINO

86

132

MASCULINO

86

247

FEMENINO

87

131

MASCULINO

87

212

FEMENINO

88

101

MASCULINO

88

193

FEMENINO

89

95

MASCULINO

89

176

FEMENINO

90

76

MASCULINO

90

139

FEMENINO

91

67

MASCULINO

91

94

FEMENINO

92

61

MASCULINO

92

104

FEMENINO

93

44

MASCULINO

93

68

FEMENINO

94

34

MASCULINO

94

49

FEMENINO

95

33

MASCULINO

95

34

FEMENINO

96

17

MASCULINO

96

22

FEMENINO

97

12

MASCULINO

97

14

FEMENINO

98

10

MASCULINO

98

15

FEMENINO

99

11

MASCULINO

99

7

FEMENINO

100

4

MASCULINO

100

4

FEMENINO

101

2

MASCULINO

101

4

FEMENINO

102

1

MASCULINO

102

0

FEMENINO

103

1

MASCULINO

103

0

FEMENINO

104

1

MASCULINO

104

2

FEMENINO

107

0

MASCULINO

107

1

FEMENINO

108

0

MASCULINO

108

1

# Seleccionar un mes

fallecidos_covid_Peru$Mes<-substr(FECHA_FALLECIMIENTO,5,6)
#tomar la variable mes en base de datos fallecidos covid peru y sustraerla  fecha de naciemieento, que tome de 5 a 6


fallecidos_covid_Peru%>% # para que nos muestre base de datos tenemos, con flextavle() para que nos muestre la tabla.
  count(Mes)%>% #contar
  flextable()

Mes

n

03

77

04

2,756

05

7,044

06

8,165

07

5,682

08

5,344

09

2,301

# Tarea separar los totales de mes por sexo

#--- Uso de dplyer y tydiverse

fallecidos_covid_Peru%>% #%>% pipa para expresar una secuencia de isntruciones.
  select(SEXO, EDAD_DECLARADA)%>%
 dplyr::filter(SEXO=="MASCULINO",EDAD_DECLARADA==35)%>% #filter , es para seleccionar  sexo que son masculino,con edad declarada de 35 aƱos
  count(SEXO)%>%  # y tambien count para que nos cuente el sexo masculino.
  flextable()# para que nos mande la tabla.de la declaracion

SEXO

n

MASCULINO

55

#-----

table(SEXO) #la tabla de base de datos de la variable sexo
## SEXO
##  FEMENINO MASCULINO 
##      9366     22003
fallecidos_covid_Peru%>%   
  group_by(SEXO)%>% #agrupa un conjunto de filas seleccionado en un conjunto de filas 
  summarise(Total=n())%>% #para que nos muestre el resultados asignamos a total la suma total de sexo femenino y masculino
  flextable()

SEXO

Total

FEMENINO

9,366

MASCULINO

22,003

prop.table(table(SEXO))#que puede ser utilizada para calcular las proporciones de una tabla de datos.aqui la fecuencia
## SEXO
##  FEMENINO MASCULINO 
##  0.298575  0.701425
prop.table(table(SEXO))*100 #el porcentajes
## SEXO
##  FEMENINO MASCULINO 
##   29.8575   70.1425
dat1<- fallecidos_covid_Peru%>%   
         group_by(SEXO)%>% #agrupa un conjunto de filas seleccionado seria variable sexo 
         summarise(Total=n())%>% #para que nos muestre el resultados, asignamos el total el resultado total del sexo.
         mutate(Frecuencia=Total/sum(Total),Porcentaje=(Total/sum(Total))*100)
#mutate permite solo calcular , en este ejemplo carlcular lo de adentro 


flextable(dat1)#que nos muestre la tabla de base de datos de dat1 que asigmanos anteriormente.

SEXO

Total

Frecuencia

Porcentaje

FEMENINO

9,366

0.298575

29.8575

MASCULINO

22,003

0.701425

70.1425