Guardar y leer archivos enformato de R (RDS)
saveRDS(datos_1, file = "C:/Carpeta/datos.rds")
datos <- readRDS("C:/Carpeta/datos.rds")
Identificar columnas con Valores Vacios en un DataFrame
VarSinDatos <- apply(Train,2,function(x) min(nchar(x)))
VarSinDatos <- VarSinDatos[VarSinDatos==0]
print(VarSinDatos)
Leer una base de datos via ODBC
Pasar un parametro a una lista
Convertir todas las variables en Factores
DataSet <- as.data.frame(lapply(datos, factor))
Usar la configuración Proxy de InternetExplorer para install.packagge
Funcion que Carga un Package, si no está instalado, lo instala y luego lo carga
Transponer una tabla
BechMark para medir tiempo ejecucion paralela
Crear vector como formula con formato Clase ~ var1+var2+var3
Normalizar de cero a uno un data frame
Eliminar registros con valores nulos en una o mas variable
Comparar si dos objetos son iguales
Extraer dominio y correo de EMAIL
Guardar el Summary en un txt
lapply(libs,require, character.only= TRUE)
VarSinDatos <- apply(Train,2,function(x) min(nchar(x)))
VarSinDatos <- VarSinDatos[VarSinDatos==0]
print(VarSinDatos)
Leer una base de datos via ODBC
library(RODBC) #Libreria
mi_odbc <- odbcConnect("Miconeccion", uid="MiUsuario", pwd="MiPasword") #inicio sesion
data <- sqlQuery(mi_odbc, "select campo1, campo2 from NombreDeTabla") #leer algunos campo
data <- sqlFetch(mi_odbc, "NombreDeTabla") #cargar toda la tabla
OdbcClose(db) #cerrar sesion
mi_odbc <- odbcConnect("Miconeccion", uid="MiUsuario", pwd="MiPasword") #inicio sesion
data <- sqlQuery(mi_odbc, "select campo1, campo2 from NombreDeTabla") #leer algunos campo
data <- sqlFetch(mi_odbc, "NombreDeTabla") #cargar toda la tabla
OdbcClose(db) #cerrar sesion
Descargar archivo de url a disco
download.file('https://dl.dropboxusercontent.com/u/59930995/cars04.csv',
'c:/R/prb.csv', quiet = FALSE, mode = "w",cacheOK = TRUE,
extra = getOption("download.file.extra"))
Leer csv usando Buscador de Carpetas
DataSet <- read.table(file.choose(), header=TRUE,sep=",")
Pasar un parametro a una lista
do.call("+",list(4,5))
Concatenar muchso CSV en un Data.Frame
setwd("C:/MisArchivosCSV/") # establece carpeta de trabajo
temp <- list.files(pattern="*.csv") # crea lista con todos los nombres de los csv
DataSet <- do.call("rbind", lapply(temp, function(x) read.csv(x))) # concatena todos los csv
Convertir todas las variables en Factores
DataSet <- as.data.frame(lapply(datos, factor))
Usar la configuración Proxy de InternetExplorer para install.packagge
setInternet2(TRUE)
Funcion que Carga un Package, si no está instalado, lo instala y luego lo carga
packages <- function(x) {
x <- as.character(match.call()[[2]])
if (!require(x,character.only=TRUE)){
install.packages(pkgs=x,repos="http://cran.r-project.org")
require(x,character.only=TRUE)
}
}
packages(rpart)
Transponer una tabla
datos <- data.frame(
Id_Factura = c(1,1,2,2,2),
Orden = c(8,4,8,4,7),
Item = c("pan","leche","azucar","maiz","arroz"))
Transaccines <- reshape(datos,
direction = "wide",
timevar = "Orden",
idvar = c("Id_Factura"))
BechMark para medir tiempo ejecucion paralela
inicio <- Sys.time();library(snow)
Cluster <- makeCluster(4,type="SOCK")
NoPrint <- clusterEvalQ(Cluster,{library(rbenchmark)})
x <- clusterApply(Cluster, c(1:10),function(i)
{benchmark((1:10^6)^3)})
Sys.time()-inicio
Crear vector como formula con formato Clase ~ var1+var2+var3
frml <- as.formula(paste("Clase ~ ", #variable Predictora
paste(names(within(
Train, rm(Clase,Fecha,IdCliente))), #Variables no predictoras
collapse="+") ))
Cambiar el nombre de una columna en un data.frame
names(DATOS)[names(DATOS) == 'nombreviejo'] <- 'nombrenuevo'
Normalizar de cero a uno un data frame
library("scales")
datos <- data.frame(uno=c(2,4,6,8),dos=c(-2,-4,-6,-8))
datos.nrm <- rescale(datos)
Eliminar registros con valores nulos en una o mas variable
datos <- data.frame(x1 = c(1,NA,3),
x2 = c(21,22,23))
datos.complt <- datos[complete.cases(datos),]
Comparar si dos objetos son iguales
uno <- c(1L, 6L, 10L)
dos <- c(1, 6, 10)
tres <- c(1, 6, 10)
identical(uno,dos) # FALSE
identical(dos,tres) # TRUE
Selecionar solo variables numéricas en un data.frame
iris.num <- iris[ ,sapply(iris, is.numeric)]
gsub(".*@","","enmanuel.s@gmail.com") # gmail.com
gsub("@.*","","enmanuel.s@gmail.com") # enmanuel.s
Convertir multiples CSV en multiples RDS
lista <- list.files("C:/Archivos/TXT",full.names=T)
for (i in lista){
datos <- read.csv(i)
file.name <- gsub(".csv", ".rds", basename(i)) # arch.csv to arch.rds
ruta <- paste('C:/Archivos/RDS/',file.name) # ruta del rds
saveRDS(datos, ruta)
rm(datos,ruta)
}
Completa los valores NA con la media de la variable
df.imp <- sapply(df, function(x) ifelse(is.na(x),mean(x,na.rm = T),x))
Completa/Imputa los valores NA con la moda
x <- c(1,2,3,4,4,4,5,NA,6)
agrupado <- table(as.vector(x))
MODA <- names(agrupado[agrupado==max(agrupado)])
MODA <- as.numeric(MODA)
x_imputado <- ifelse(is.na(x),MODA,x)
Guardar el Summary en un txt
iris_sumary <- summary(iris)
capture.output(iris_sumary, file = "iris_sumary.txt")
Cargar varias librerias/paquetes de forma recursiva usando lapply
libs <- c("rpart", "C50", "randomForest")capture.output(iris_sumary, file = "iris_sumary.txt")
Cargar varias librerias/paquetes de forma recursiva usando lapply
lapply(libs,require, character.only= TRUE)
No hay comentarios:
Publicar un comentario