a <- c(5,8,29)
a
## [1] 5 8 29
b <- 4:8
b
## [1] 4 5 6 7 8
c <- seq(2,3 , 0.1)
c
## [1] 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0
d <- rep(1:2, times=3)
d
## [1] 1 2 1 2 1 2
e <- rep(1:2, each=3)
e
## [1] 1 1 1 2 2 2
Vectores
a <- c(160,180,150, 120, 133, 150, 200, 103, 150, 120)
queremos sacar el segundo y del cuarto al sexto
rango <- a[c(2,4:6)]
rango
## [1] 180 120 133 150
repeticion <- a[a > 150]
repeticion
## [1] 160 180 200
Cual seria la salida?
for (i in 1:4){
j <- i + 10
print(j)
}
## [1] 11
## [1] 12
## [1] 13
## [1] 14
Graficos en R
bbb <- c(80,80,80,80,83,78,76,89,82,84,82,89,81,72,74,72,76,78,120,110,104,99,130,160,40,55,67,68,77,71,72,90)
bbb <- as.data.frame(bbb)
bbb
## bbb
## 1 80
## 2 80
## 3 80
## 4 80
## 5 83
## 6 78
## 7 76
## 8 89
## 9 82
## 10 84
## 11 82
## 12 89
## 13 81
## 14 72
## 15 74
## 16 72
## 17 76
## 18 78
## 19 120
## 20 110
## 21 104
## 22 99
## 23 130
## 24 160
## 25 40
## 26 55
## 27 67
## 28 68
## 29 77
## 30 71
## 31 72
## 32 90
d <- ggplot(bbb, aes(x = bbb)) + geom_histogram()
d
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
d <- ggplot(bbb, aes(x = bbb)) + geom_boxplot()
d
160*160
## [1] 25600
Funciones en R:
square <- function(x){
return(mean(x^2))
}
square(bbb)
## [1] 7580.281
Dataframes
Union de dataframes:
df1 <- data.frame(x = 1:3, y = c('a', 'b', 'c'), o = 1:3, u = 5:7)
df1
## x y o u
## 1 1 a 1 5
## 2 2 b 2 6
## 3 3 c 3 7
df2 <- data.frame(x = 6:8, y = c('r', 't', 'y'), o = 89:91, u = 12:14)
df2
## x y o u
## 1 6 r 89 12
## 2 7 t 90 13
## 3 8 y 91 14
uniendo uno arriba del otro:
union <- cbind(df1,df2)
union
## x y o u x y o u
## 1 1 a 1 5 6 r 89 12
## 2 2 b 2 6 7 t 90 13
## 3 3 c 3 7 8 y 91 14
matriz_001 <- data.frame(x = 6:7, y = 99:100)
matriz_001
## x y
## 1 6 99
## 2 7 100
traspuesta de una matriz:
matriz_001_t <- t(matriz_001)
matriz_001_t
## [,1] [,2]
## x 6 7
## y 99 100
Que pasa si trasponemos la matriz traspuesta?
matriz_001_tt <- t(matriz_001_t)
matriz_001_tt
## x y
## [1,] 6 99
## [2,] 7 100