10
10
# (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
11
11
12
12
13
- # ### Funciones según su comportamiento
13
+ # ### Funciones definidas por el usuario
14
14
15
- # ## Funciones sin retorno
15
+ # Simple
16
16
17
- # # Con parametros
17
+ saludar <- function () {
18
+ print(" ¡Hola, R!" )
19
+ }
18
20
19
- rm(list = ls())
20
- # Al ser aplicada de esta manera, la función rm borra todos los objetos del environment
21
+ saludar()
21
22
23
+ # Con retorno
22
24
23
- # # Sin parametros
25
+ saludar_con_retorno <- function () {
26
+ return (" ¡Hola, R!" )
27
+ }
24
28
25
- graphics.off()
26
- # graphics.off cierra todos los dispositivos gráficos abiertos (por ejemplo, las visualizaciones en el panel Plots)
29
+ print(saludar_con_retorno())
27
30
28
- # ## Funciones con retorno
31
+ saludo <- saludar_con_retorno()
29
32
30
- # # Con parametros
33
+ saludo
31
34
32
- sum( 2 , 2 )
35
+ # Con un argumento
33
36
37
+ saludar_con_argumento <- function (x ) {
38
+ cat(" ¡Hola, " , x ," !" , sep = " " )
39
+ }
34
40
35
- # # Sin parametros
41
+ saludar_con_argumento( " Micromantic " )
36
42
37
- Sys.Date()
38
- # la función Sys.Date arroja la fecha actual en el formato "YYYY-MM-DD"
43
+ # Con dos argumentos
44
+
45
+ saludar_con_argumentos <- function (x , y ) {
46
+ cat(" ¡" , x , " , " , y , " !" , sep = " " )
47
+ }
39
48
49
+ saludar_con_argumentos(" Buenas" , " Micromantic" )
40
50
41
- # ## Función dentro de otra función
51
+ # Con un argumento por defecto
52
+
53
+ saludar_con_argumento_por_defecto <- function (x = " R" ) {
54
+ cat(" ¡Hola, " , x ," !" , sep = " " )
55
+ }
56
+
57
+ saludar_con_argumento(" Micromantic" )
58
+
59
+ # Con dos argumentos por defecto
60
+
61
+ saludar_con_argumentos_por_defecto <- function (x = " Hola" , y = " R" ) {
62
+ cat(" ¡" , x , " , " , y , " !" , sep = " " )
63
+ }
64
+
65
+ saludar_con_argumentos(" Buenas" , " Micromantic" )
66
+
67
+ # Con retorno de varios valores
68
+
69
+ saludar_con_multiple_retorno <- function () {
70
+
71
+ return (c(" Hola" , " R" ))
72
+ }
73
+
74
+ saludar_con_multiple_retorno()
75
+
76
+ saludo <- saludar_con_multiple_retorno()[1 ]
77
+ lenguaje <- saludar_con_multiple_retorno()[2 ]
78
+
79
+ saludo
80
+ lenguaje
81
+
82
+ # Con un número variable de argumentos
83
+
84
+ saludo_con_argumentos_variables <- function (... ) {
85
+ for (i in list (... )) {
86
+ print(paste0(" Hola, " , i ))
87
+
88
+ }
89
+ }
90
+
91
+ saludo_con_argumentos_variables(" Carlos" , " Daniel" )
92
+
93
+ # Con un número variable de argumentos con palabras clave
94
+
95
+ saludo_con_argumentos_variables_clave <- function (... ) {
96
+
97
+ claves <- list (... )
98
+ for (clave in names(claves )) {
99
+ cat(" Hola," , " mi" , clave , " es" , claves [[clave ]], " \n " )
100
+ }
101
+ }
102
+
103
+ saludo_con_argumentos_variables_clave(
104
+ nombre = " Daniel" ,
105
+ lenguaje = " R" ,
106
+ apodo = " Micromantic" ,
107
+ edad = " 30"
108
+ )
109
+
110
+ # Función dentro de otra función
42
111
43
112
por_100 <- function (x ) {
44
113
@@ -56,6 +125,34 @@ por_100(x = 1)
56
125
# esta funcion recibe un argumento, lo multiplica por 100 y luego usa una
57
126
# función interna para multiplicar el resultado por 5
58
127
128
+ # ### Funciones del lenguaje R
129
+
130
+ # ## Funciones sin retorno
131
+
132
+ # # Con parametros
133
+
134
+ rm(list = ls())
135
+
136
+ # Al ser aplicada de esta manera, la función rm borra todos los objetos del environment
137
+
138
+ # # Sin parametros
139
+
140
+ graphics.off()
141
+
142
+ # graphics.off cierra todos los dispositivos gráficos abiertos (por ejemplo, las visualizaciones en el panel Plots)
143
+
144
+ # ## Funciones con retorno
145
+
146
+ # # Con parametros
147
+
148
+ sum(2 , 2 )
149
+
150
+ # # Sin parametros
151
+
152
+ Sys.Date()
153
+
154
+ # la función Sys.Date arroja la fecha actual en el formato "YYYY-MM-DD"
155
+
59
156
60
157
# ## Concepto de alcance LOCAL y GLOBAL
61
158
@@ -96,13 +193,13 @@ por_100 <- function(x) {
96
193
# Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
97
194
98
195
99
- vector_1_100 <- function (x , y ) {
196
+ imprimir_numeros <- function (x , y ) {
100
197
vector <- 1 : 100
101
198
multiplos_3_5 <- c()
102
199
103
200
for (i in vector ) {
104
201
if (i %% 3 == 0 & i %% 5 == 0 ) {
105
- print(paste (x , y , sep = " " ))
202
+ print(paste0 (x , y , sep = " " ))
106
203
} else if (i %% 3 == 0 ) {
107
204
print(x )
108
205
} else if (i %% 5 == 0 ) {
@@ -116,4 +213,4 @@ vector_1_100 <- function(x, y) {
116
213
paste0(" Hubo un total de " , length(multiplos_3_5 ), " números impresos en vez de textos." )
117
214
}
118
215
119
- vector_1_100( " Hola " , " R " )
216
+ imprimir_numeros( " Fizz " , " Buzz " )
0 commit comments