Kenneth Cabrera
Miércoles 10 de septiembre de 2014
El R tiene cinco clases de objetos básicos o “atómicos”
El objeto más básico es un vector.
vector()L.Inf, representa el infinito.NaN es un valor no definio (“not a number”).Un objeto en R puede tener atributos como:
names, dimnames).dim).class).length).attribute() para obtenerlos.El símbolo <- es el operador de asignación.
También se utiliza -> para realizar la asignación de izquierda a
derecha.
x <- 1
print(x)
45 -> y
print(y)
x <- 1:20
x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
El operador : crea secuencias.
x <- c(0.5, 0.6) ## numérico
class(x)
[1] "numeric"
x <- c(TRUE, FALSE) ## lógico
x <- c(TRUE, FALSE) ## lógico
x <- c("a", "b", "c") ## alfanumérico, carácter, sarta.
x <- c(0.5, 0.6) ## numérico
x <- 9:29 ## entero
x <- c(1+0i, 2+4i) ## complejo
# Uso de la función vector().
x <- vector("numeric", length = 10)
x
[1] 0 0 0 0 0 0 0 0 0 0
y <- c(1.7, "a")
y <- c(TRUE, 2)
y <- c("a", TRUE)
x <- 0:6
class(x)
[1] "integer"
as.numeric(x)
[1] 0 1 2 3 4 5 6
as.logical(x)
[1] FALSE TRUE TRUE TRUE TRUE TRUE TRUE
x <- 0:6
as.character(x)
[1] "0" "1" "2" "3" "4" "5" "6"
as.complex(x)
[1] 0+0i 1+0i 2+0i 3+0i 4+0i 5+0i 6+0i
x <- c("a", "b", "c")
as.numeric(x)
[1] NA NA NA
as.logical(x)
[1] NA NA NA
as.complex(x)
[1] NA NA NA
m <- matrix(nrow = 2, ncol = 3)
m
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA NA NA
dim(m)
[1] 2 3
attributes(m)
$dim
[1] 2 3
m <- matrix(1:6, nrow = 2, ncol = 3)
m
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
m <- 1:10
m
[1] 1 2 3 4 5 6 7 8 9 10
dim(m) <- c(2, 5)
m
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
x <- 1:3
y <- 10:12
cbind(x, y)
x y
[1,] 1 10
[2,] 2 11
[3,] 3 12
rbind(x, y)
[,1] [,2] [,3]
x 1 2 3
y 10 11 12
x <- list(1, "a", TRUE, 1 + 4i)
x
[[1]]
[1] 1
[[2]]
[1] "a"
[[3]]
[1] TRUE
[[4]]
[1] 1+4i
Los factores se usan para representar variables categóricas. Pueden ser ordenados o no ordenados. Y se pueden asimilar a un vector donde cada categoría tiene una etiqueta.
lm() y glm().x <- factor(c("si", "si", "no", "si", "no"))
table(x)
x
no si
2 3
unclass(x)
[1] 2 2 1 2 1
attr(,"levels")
[1] "no" "si"
x <- factor(c("si", "si", "no", "si", "no"),
levels = c("si", "no"))
x
[1] si si no si no
Levels: si no
is.na() Se usa para probar si los objetos son NA.is.nan() para los valores NaN.NA existen tantos numéricos NA como de sarta <NA>.NaN es NA pero no al contrario.x <- c(1, 2, NA, 10, 3)
is.na(x)
[1] FALSE FALSE TRUE FALSE FALSE
is.nan(x)
[1] FALSE FALSE FALSE FALSE FALSE
x <- c(1, 2, NaN, NA, 4)
is.na(x)
[1] FALSE FALSE TRUE TRUE FALSE
is.nan(x)
[1] FALSE FALSE TRUE FALSE FALSE
data.frame permiten
tipos distintos para cada columna. En las matrices
todos son de la misma clase.data.frame tienen atributos como row.names.read.table() o
read.csv().data.matrix().x <- data.frame(foo = 1:4, bar = c(T, T, F, F))
x
foo bar
1 1 TRUE
2 2 TRUE
3 3 FALSE
4 4 FALSE
nrow(x)
[1] 4
ncol(x)
[1] 2
x <- 1:3
names(x)
NULL
names(x) <- c("foo", "bar", "norf")
x
foo bar norf
1 2 3
names(x)
[1] "foo" "bar" "norf"
x <- list(a = 1, b = 2, c = 3)
x
$a
[1] 1
$b
[1] 2
$c
[1] 3
m <- matrix(1:4, nrow = 2, ncol = 2)
m
[,1] [,2]
[1,] 1 3
[2,] 2 4
dimnames(m) <- list(c("a", "b"),c("c", "d"))
m
c d
a 1 3
b 2 4