Ayuda en R
Para saber qué hace alguna función utilizamos un signo de pregunta seguido de la función, ?función.
Ejemplo:
?mean
Objetos
Todo objeto tiene 2 características intrínsecas
1) El tipo: númerico, carácter, complejo y lógico(TRUE,FALSE)
2) La longitud
-Para saber la longitud de algún objeto utilizamos la función length(objeto)
Valores especiales en R
Para poner + ∞ o −∞ usamos inf y –inf
Para menor igual <= , para mayor igual >=, para igual ==, para diferente ¡=
Sí c1 y c2 son vectores lógicos entonces c1&c2 intersección, c1|c2 es su unión y ¡c1 su negación
Factores
Un factor es un vector utilizado para especificar una clasificación discreta de los elementos de otro vector de
igual longitud
Existen Nominales y Ordinales
Para convertir un objeto en factor usamos la función, factor(vec)
Ejemplo:
factor_estados<- factor(estados,)
-si queremos poner cuales son los niveles usamos levels= c(n1,n2,n3,atc) y si están ordenados usamos ordered=
T , también si queremos nombrar las columnas usamos labels = c(N1.N2,N1,Etc)
Ejemplo:
factor_estados<- factor(estados,
levels = c(“Bajo”,”Medio”,”Alto”)
ordered = T
labels = c(“BAJO”,” MEDIO”,”ALTO”) )
Funciones comunes
Para saber el mínimo o máximo de algún objeto usamos las funciones min(objeto) y max(objeto)
respectivamente
Para sumar los elementos del objeto usamos la función sum(objeto)
Para multiplicar todos los elementos de objeto utilizamos la función prod(x)
Para la desviación estándar usamos la función sd(x)
Para duplicar un vector usamos la función rep(vector, times= veces_a _repetir)
Función summary produce resúmenes de varias funciones y/objetos y la función es la siguiente
summary(objeto )
Ejemplo:
summary(calificaciones)
Crear Secuencias de números
Para crear una secuencia de uno en uno usamos 1:30 o de reversa 30:1
Para crear de 2 en dos usamos 2*1:30
Para una secuencia más compleja usamos la función seq(from=1,to=20,by=2#nos indica de cuanto en cuanto
avnaza #),tambien podemos utilizar dentro de la función el argumento lenght=n que nos sirve para decir cuántos
elementos quiero desde from hasta to y los calculo uniformemente.
Existe también dentro de la función seq(along = x) nos crea una secuencia del 1 al tamaño que tenga x es decir
length(x)
Vectores
Los vectores son columnas, los tipos de vectores que existen son los siguientes
-Vector de tipo numérico: c(1,2,3,4)
-Vector de tipo carácter: c(“Lunes”,” Martes”, “Miércoles”)
-Vector Verdadero/Falso: c(FALSE, TRUE, FALSE, True)
Para asignar los valores a algún vector nombramos el vector y le asignamos la función <- c (dato, dato, etc)
Ejemplo:
nombre_del_vector<- c(dato, dato, dato)
Para anidar vectores creamos los vectores que queremos anidar y los ponemos como elementos en un nuevo
vector, se puede combinar vectores de tipo carácter, tipo numérico, etc. Pero no podremos hacer operaciones
con el vector anidado si sus entradas no son del mismo tipo.
Ejemplo:
vector1<- c(3,3,4)
vector2<- c("Prueba1","Prueba2","Prueba3")
vector anidado <- c (vector1, vector2)
vector anidado
Para nombrar a las columas de un vector usamos la función names(vec)<- c(n1,n2,n3,etc)
Arreglos-Arrays
Nombramos nuestro array y le asignamos la función array(c(d1,d2,d3,d4,d5,etc),dim = c(n,m)), los datos van
ocupando la primera columna dependiendo la cantidad de filas que tengamos
Ejemplo:
c<- array(c(3,4,5,1,2,3,5,4,-1),dim = c(3,3))
c
Listas
Es un vector formado por subvectores pero pueden ser de cualquier tipo (Num,Carectér)
Nombramos nuestra lista después usamos la función list(dato1 = ”caracter”, dato2 = numero, dato = 1<2)
Ejemplo:
e<- list(clothes="hat",size= 8.2)
e
Para ver algún dato de la lista usamos el vector un signo de precios y el titulo de lista que queremos ver
Ejemplo:
e$clothes
e$size
Dataframes
Para crear una dataframe necesitamos crear los objetos que estarán en el dataframe pueden ser vectores,
listas, matrices, etc. Después nombramos nuestro dataframe y le asignamos la función
data.frame(obj1,obj2,obj3,…)
Ejemplo:
equipos<- c(“chivas”, ”cruz azul”, “leon”)
juegos<- c(3,4,3)
puntos<- c(9,2,4)
df1<- data.frame(NombreDeLaColumna=equipos,juegos,puntos)
Si no se pone el nombre de la columna toma automáticamente el nombre del vector.
Para cambiar de nombre alguna columna del data frame usamos la función names e indicamos entre corchetes
el número de la columna
Ejemplo:
names(hojadedatos)[5]<-"id1"
names(hojadedatos)[6]<-"id2"
Para abrir una base de datos (data.frame) seguimos los siguientes pasos
-Ir a la consola> Import Dataset >From Text(base)> Seleccionamos la base
Al abrir nos saldrá un cuadro con las siguientes opciones:
-Name: Nombre que le quieres poner a la base de datos
-Heading: Si tu base tiene encabezados o nombres de los atributos de las columnas
-Separador: Comma
-strings a factors: todo lo que este en texto lo considera como factor si no se lo ponemos lo considera como
texto.
Para que muestre el encabezado de la base de datos usamos la función head(base de datos, nrow )
Ejemplo:
head(base,10) #El 10 indica el número de filas que deseas
Para ordenar una base de datos con respecto a una columna o atributo primero necesitamos usar la
librería(dplyr) , después usamos la función arrange(data_frame,clomuna_a_ordenar)
Ejemplo:
library(dplyr)
base7<- arrange(base,volume)
Para ordenar la base de datos de forma descendente con respecto a una columna usamos desc(name_col)
dentro de la función arrange
Ejemplo:
base8<- arrange(base,desc(volume))
Para ordenar la base de datos con respecto a más de una columna primero una y después otra usamos comas
para separar las columnas
Ejemplo:
base8<- arrange(base,desc(volume),month)
Para agregar una columna a nuestra base datos usamos la función transform(data_frame, nom_nuevacolumna=
operación deseada)
Ejemplo:
transform(base,total=sales*avgprice)
Para seleccionar columnas usamos la función subset(data_frame, select = “nombre de la columna”)
Ejemplo:
subset(base, select = “volume”) #Podemos asignar esta función a un objeto como ya sabemos.
Para seleccionar más de dos columnas select = c(“col1”,”col2”) en la función subset.
Ejemplo:
subset(base, select = c(“city”, “volume”)) #Podemos asignar esta función a un objeto como ya sabemos.
Para seleccionar varias columnas consecutivas usamos select = col1:col5 en la función subset
Ejemplo
Base3<- subset(base, select = city: avgprice) #Se usan comillas cuando es vector si no, no.
Para eliminar una columna usamos select = -nombre_columna en la función subset.
Ejemplo:
Base3<- subset(base, select = -date)
Para seleccionar las filas que cumplan con una característica usamos Nombre_columna==característica, es decir
seleccionamos el nombre de la columna con dos signos de igual asignamos la característica que necesitemos así
nos dará todas las filas con la característica que hayamos puesto. subset(base, nombrecol==caracteristica)
Ejemplo:
subset(base, year == 2000)
Para seleccionar las filas que cumplan con varias características usamos & (significa “y”) dentro de la función
subset, subset(base, col1== característica & col2== caracteristica2 & col3==caracteristica3 )
Ejemplo:
subset(base,year==2000 & month==12 & sales<400)
Para quitar todos los NA de las filas usamos la función complete.cases() y seleccionamos con corchetes como
antes
Ejemplo:
Base[complete.cases(base),]
Separar en subbases el dataframe
Para separar en subbases primero cargamos library(plyr) después usamos la función split(base,base$col)
Ejemplo:
split(base,base$city)
Para separar en más de dos criterios la subbase
Ejemplo:
split(base,base[c("city","year")]
Para ver alguna subbase usamos $ que entra a subbases y selecciona la indicada
Ejemplo:
subbasesciudad$Abilene
subbasesciudad$Abilene$volume
Función lapply
La función sirve para aplicar una función u operación a cada columna del data.frame es decir si el data frame
tiene 5 columnas a cada columna se le aplicara la función, dará 5 resultados uno por cada columna.
Para usar la función lapply escribimos lapply(dataframe,funcion)
Ejemplo:
x<-c(2,3,5)
y<-c(1,4,6)
z<-c(-2,0,3)
d<- data.frame(x,y,z)
lapply(d,sum) # resultado sería [1]=2+3+5, [2]=1+4+6, [3]=-2+0+3 #
Función sapply
Es la misma que la función lapply
Para convertirlo en un dataframe usamos as.data.frame(sapply(dataframe1, función))
Ya que tenemos nuestras subbases(sub_basesciudad1<-split(base,base$city)) usamos la función sapply para que
seleccione una columna de cada subbase de datos(En este ejemplo se selecciona la columna avgprice de cada
subbase)
concentrado <-sapply(subbases,”[”, ”nombre_de_columna ” ) # ”[” esto sirve para entrar a cada subbase y
poder seleccionar el nombre de la columna deseada#
concentrado<- sapply(sub_basesciudad1,"[","avgprice")
después que ya tengo la columna de cada subbase ahora podemos aplicar una operación o función a la columna
seleccionada
x<- sapply(concentrado,sum,na.rm=T)
Función ddply
La función sirve para hacer lo mismo que Split y sapply juntos ,veamos el ejemplo
ddply(base,c("city"),summarize, max(avgprice,na.rm = T)la parte que esta en verde hace la función de Split
primero ponemos la base a la cual queremos dividir después la columna en cual la queremos dividir, después la
parte de azul primero indicamos el paquete de funciones y después que función queremos de ese conjunto de
funciones.
Otro ejemplo:
ddply(base,c("city","year"),summarize,sum(avgprice,na.rm = T))
Funciones de estructuras
Para ver cualquier estructura utilizamos la función View(esrtructura)
Ejemplo:
View(data_frame)
Para ver la estructura de algún vector, arreglo, lista o dataframe utilizamos la función str(variable)
Ejemplo:
str(data_frame)
str(películas)
Para ver la longitud de algún vector utilizamos la función length(vec1)
Ejemplo:
str(puntuación)
Para saber el número de columnas y filas usamos las funciones ncol(data_frame) y nrow(dataframe)
respectivamente.
Ejemplo:
ncol(data_frame)
nrow(data_frame)
Para ver la dimensión de alguna estructura usamos la función dim(estructura)
Ejemplo:
dim(data_frame)
Valores y Caracteres especiales
NA (Not Available) significa no disponible.
Ejemplo:
- f<- c(2, 3, NA, 5)
Si queremos ver si f tiene elementos NA usamos la función is.na(obj)
Ejemplo:
is.na(f)
Si queremos saber cuales objetos no son NA usamos la función ¡is.na(obj)
Ejemplo:
¡is.na(f)
Si queremos un vector que no tenga los NA usamos los corchetes para seleccionar los elementos del objeto y
dentro indicamos que no queremos a los NA es decir obj[¡is.na(obj)] y se lo asignamos al mismo u otro objeto
diferente
Ejemplo:
f_sinNa<- f[¡is.na(f)]
Si queremos hacer alguna operación con algún objeto que tenga NA es necesario remover a estos valores para
eso usamos la función na.rm=T
Ejemplo:
f<- c(2, 3, NA, 5)
mean(f,na.rm = T)
sum(f, na.rm=T)
NaN (Not a Number) significa no es un número.
Para convertir un vector lógico a uno lógico numérico con 0 ceros y unos usamos la función as.numeric(vec)
Para leer una base de datos desde una página web
Usamos la función
read.delim(file = "http://stat405.had.co.nz/data/pew.txt",header = TRUE, stringsAsFactors = FALSE,
check.names = F)
Para modificar una tabla de frecuencias en base de datos
Primero necesitamos cargar library(tidyr)
pew_tidy<- gather(pew,income,frequency,-religion) la primera es la base de datos después el nombre de la
columna que se quiere con su frecuencia y de ultimo indicamos que la columna religión no cambia.
Hacer diversas operaciones sobre la base de datos
Necesitamos cargar library(dplyr)
Crear una función
Ponemos el nombre de la función y le agregamos fucntion(a,b){procedimiento } en los paréntesis van los valores
que se necesitan para que la función se lleve a cabo y dentro de los corchetes todo el procedimiento de la
función