4 de noviembre de 2017

Factors(factor) "factor()"

En R, las cadenas de caracteres se pueden organizar de una manera más astuta, gracias a la función factor ().

factor(x = character(), levels, labels = levels, exclude = NA, ordered = is.ordered(x), nmax = NA)

x <- c("blue","green","blue","red", "blue","green","green") 
y <- c(55,63,83,57,75,90,73,67,58,84,87,79,48,52)
 class(x) 
## [1] "character"
 class(y)
## [1] "numeric"

Ejemplo 1A: A partir del vector g= N,M,M,N,N,M,N,M,N,N,N,M,M,M,N,N,M crear el factor \(g\).

g <- c("N","M","M","N","N","M","N","M","N","N","N","M","M","M","N","N","M")
g
##  [1] "N" "M" "M" "N" "N" "M" "N" "M" "N" "N" "N" "M" "M" "M" "N" "N" "M"
gf<- as.factor(g) 
gf
##  [1] N M M N N M N M N N N M M M N N M
## Levels: M N

Ejemplo 1B: Modifica los niveles del vector factor gf utilizando el argumento Nivel (levels).

levels(gf) <- c("Female","Male")  
gf
##  [1] Male   Female Female Male   Male   Female Male   Female Male   Male  
## [11] Male   Female Female Female Male   Male   Female
## Levels: Female Male
levels(gf) <- c(1,2)  
gf
##  [1] 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 2 1
## Levels: 1 2

Ejemplo 2: A partir del vector \(A = 1,2,1,2,2,2,1,1\) crear el factor de A y modifica los niveles del vector factor utilizando el argumento Etiquetas (labels)

 Af <- factor(c(1,2,1,2,2,2,1,1))
 Af
## [1] 1 2 1 2 2 2 1 1
## Levels: 1 2
 B <- factor(Af,labels = c("si","no"))
 B
## [1] si no si no no no si si
## Levels: si no

Generate Factor Levels "gl()"

  • gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE)
##  [1] M M M M M M M M F F F F F F F F
## Levels: M F
## [1] "factor"

Acceso a los elementos de un Factor

levels(x)[3]
## [1] NA
levels(x)[2] <- "febrero" 
x
##  [1] M       M       M       M       M       M       M       M      
##  [9] febrero febrero febrero febrero febrero febrero febrero febrero
## Levels: M febrero

Ordinal Variables (ordered) "ordered()"

ordered(x, …)

##  [1] M       M       M       M       M       M       M       M      
##  [9] febrero febrero febrero febrero febrero febrero febrero febrero
## Levels: febrero < M
## [1] "ordered" "factor"

 z <- ordered(c("blue","green","blue","red", "blue","green","green") )
 z
## [1] blue  green blue  red   blue  green green
## Levels: blue < green < red
class(z)
## [1] "ordered" "factor"

Acceso a los elementos de un Ordered

## [1] "red"
levels(z)[1] <- "febrero" 
z
## [1] febrero green   febrero red     febrero green   green  
## Levels: febrero < green < red

LEAR MORE ABOUT R PROJECT.