-
Notifications
You must be signed in to change notification settings - Fork 0
/
functions.Rmd
91 lines (66 loc) · 1.77 KB
/
functions.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
---
title: "Programación en R IV"
author: "joseangeldiazg"
date: "14/12/2017"
output: html_document
---
# 4.3 Functions
Crea una función impares que dado un vector devuelva la cantidad de elementos impares que contiene.
```{r}
x<-c(1,3,4,5,6,7,8,9)
impares<-function(vector)
{
sum(vector%%2==0)
}
print(impares(x))
```
* Crea una función cambio que dada una matriz de números enteros reemplaze todos los NA por el valor 0.
m<-matrix(nrow=3, ncol=3)
m[2,3]<-2
m[3,1]<-4
```{r}
cambio<-function(ma)
{
ma[which(is.na(ma))] <- 0
ma
}
m<-cambio(m)
m
```
* Crea una función unir que dados dos vectores devuelva un nuevo vector con los elementos de ambos vectores sin repetidos.
```{r}
help(paste)
x<-c(1,2,3,4,5,5,6,3,2,1,4)
x
y<-c(1,3,1,5,6,8,3,4)
y
unir<-function(vx,vy)
{
repetidos<-c(vx,vy)
unique(repetidos)
}
print(sinrepetidos<-unir(x,y))
```
* Crea una función vyc que dado un string devuelva una lista de dos componentes que contenga las vocales y las consonantes.
```{r}
frase<-"esto es una frase cualquiera, para un ejercicio en r"
vyc<-function(frase)
{
vocales<-c("a","e","i","o","u")
consonantes<-setdiff(letters,vocales)
splitFrase<-strsplit(frase, split = "")
splitVocales<-intersect(vocales,splitFrase[[1]])
splitConsonantes<-intersect(consonantes,splitFrase[[1]])
salida<-list(vocales=splitVocales,consonantes=splitConsonantes)
}
salida<-vyc(string)
salida
```
*Crea una función partir que dado un vector v y dos valores x e y (siendo y opcional), retorne un vector con los valores que aparecen luego del primer x y hasta el primer y. De no indicarse el valor de y se devolveran todos los valores que aparecen luego del primer x hasta el final del vector.
```{r}
partir<-function(vec,x,y=length(vec))
{
vec[x:y]
}
partir(c(1,2,3,4,5,6,7),3)
```