Factores, fechas y caracteres
N <- 100
edad <- sample(seq(18 , 40 , 1 ), N , replace = TRUE )
summary(edad )
sexo <- sample(c(' H' , ' M' ), N , replace = TRUE )
class(sexo )
summary(sexo )
Una variable cualitativa se define con factor
Los factor
sirven para agrupar
table(edad %in% 20 : 30 , sexo )
Los factor
sirven para agrupar
aggregate(edad ~ sexo , FUN = median )
Los factores sirven para separar
edadSexo <- split(edad , sexo )
class(edadSexo )
Los factor
se pueden generar a partir de variables numéricas
gEdad <- cut(edad , breaks = 4 )
class(gEdad )
as.Date(' 06.02.2013' , format = ' %d.%m.%Y' )
as.Date(37 , origin = ' 2013-01-01' )
Secuencias temporales con Date
seq(as.Date(' 2004-01-01' ), by = ' day' , length = 10 )
seq(as.Date(' 2004-01-01' ), by = ' month' , length = 10 )
seq(as.Date(' 2004-01-01' ), by = ' 10 day' , length = 10 )
hoy <- as.POSIXct(' 2013-02-06' )
format(hoy , ' %Y' )
format(hoy , ' %d de %B de %Y' )
format(hora , ' %H horas, %M minutos y %S segundos' )
Secuencias temporales con POSIXct
seq(as.POSIXct(' 2004-01-01' ), by = ' month' , length = 10 )
seq(as.POSIXct(' 2004-01-01 10:00:00' ), by = ' 15 min' , length = 10 )
as.POSIXct(' 2013-02-06 15:30:00' ,
tz = ' GMT' )
as.POSIXct(' 2013-02-06 15:30:00' ,
tz = ' Europe/Madrid' )
hawaii <- as.POSIXct(' 2013-02-06 15:30:00' , tz = ' HST' )
# # Character
format(hawaii , tz = ' GMT' )
# # POSIXct
as.POSIXct(format(hawaii , tz = ' GMT' ), tz = ' GMT' )
Bastan unas simples comillas
cadena <- " Hola mundo"
class(cadena )
cadenaVec <- c(" Hola mundo" , " Hello world" )
nchar(cadenaVec )
Para mostrarlos usamos cat
o print
cat(' La suma de' , a , ' y' , b , ' es' , a + b , fill = TRUE )
cat(' La suma de' , a , ' y' , b , ' es' , a + b , ' \n ' ,
' La multiplicación de' , a , ' por' , b , ' es' , a * b , ' \n ' )
Los character
se pueden unir…
paste(' Hello' , ' World' , sep = ' _' )
paste(c(' A' , ' B' ), 1 : 5 , sep = ' .' )
paste(c(' A' , ' B' ), 1 : 5 , sep = ' .' , collapse = ' |' )
… y también se pueden separar…
strsplit(cadenaVec , split = ' ' )
strsplit(cadenaVec , split = ' ' )
chSep <- strsplit(cadenaVec , split = ' ' )
class(chSep )
… y, por supuesto, manipular
sub(' o' , ' 0' , ' Hola Mundo' )
gsub(' o' , ' 0' , ' Hola Mundo' )
substring(cadena , 1 ) <- ' HOLA'
cadena