Herramientas de usuario

Herramientas del sitio


math_langs:r

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
math_langs:r [2011/05/07 17:15]
alfred
math_langs:r [2020/05/09 09:25] (actual)
Línea 2: Línea 2:
 Es un lenguaje y entorno de programación para análisis estadístico ​ y gráfico. \\  Es un lenguaje y entorno de programación para análisis estadístico ​ y gráfico. \\ 
 Existe un IDE para trabajar con el lenguaje denominado [[http://​www.rstudio.org|RStudio]]. Existe un IDE para trabajar con el lenguaje denominado [[http://​www.rstudio.org|RStudio]].
 +Para instalarlo en Ubuntu añadiremos el paquete ''​r-base''​.
  
 ===== Básico ===== ===== Básico =====
 +
 +
  
  
Línea 19: Línea 21:
 Mostrar por pantalla: Mostrar por pantalla:
   * ''​print(variable)'':​ Muestra por pantalla un texto.   * ''​print(variable)'':​ Muestra por pantalla un texto.
-  * ''​sprintf("​formato",​ variables)'': ​Muestra por pantalla ​un texto formateado.+  * ''​sprintf("​formato",​ variables)'': ​Devuelve, **no lo muestra**, ​un string ​formateado.
  
 Strings: Strings:
   * ''​s = paste(s, "​Delta",​ sep=""​)'':​ Concatena al string ''​s''​ la palabra ''​Delta''​ con ninguna separación.   * ''​s = paste(s, "​Delta",​ sep=""​)'':​ Concatena al string ''​s''​ la palabra ''​Delta''​ con ninguna separación.
 +Listas:
 +  * ''​a = c(2, 3, 5)'':​ creará una lista de tres números. ​
 +  * ''​a = c(c(2, 3, 5), 3)'':​ creará una lista de cuatro números.
  
 Trabajo con paquetes: Trabajo con paquetes:
Línea 29: Línea 34:
   * ''??​ funcion'':​ Busca en la ayuda disponible los registros que casan con el nombre de esta función.   * ''??​ funcion'':​ Busca en la ayuda disponible los registros que casan con el nombre de esta función.
   * ''​help funcion'':​ Muestra la ayuda para la función.   * ''​help funcion'':​ Muestra la ayuda para la función.
 +
  
 ==== Variables ==== ==== Variables ====
Línea 39: Línea 45:
 Podremos cambiar los nombres de los levels mediante: Podremos cambiar los nombres de los levels mediante:
 <​code>​levels(Dictamen) <- c("​positiu","​negatiu"​)''</​code>​ <​code>​levels(Dictamen) <- c("​positiu","​negatiu"​)''</​code>​
 +
 +
 +=== Operadores ===
 +  * ''​ifelse(a>​0,​a,​0)''​ : Operador ternario.
  
  
Línea 94: Línea 104:
 mydata.test <- Data[-learn,​ ] mydata.test <- Data[-learn,​ ]
 </​code>​ </​code>​
 +Para conocer el número de filas y de columnas de un conjunto de datos utilizaremos la funcion ''​nrow''​ y ''​ncol''​ respectivamente. \\ 
 +La función ''​rbind''​ te permite concatenar dos conjuntos de datos, el segundo después del primero. \\ 
 +Podemos recoger un subconjunto si, por ejemplo, tenemos en una variable ''​idxs''​ los indices así: ''​sub <- conjunto[idxs]''​. O el subconjunto negativo restante ''​sub <- conjunto[-idxs]''​.
 === Vectores y matrices === === Vectores y matrices ===
 Creación de una matriz: Creación de una matriz:
Línea 130: Línea 143:
  
 Mediante ''​attach(var)''​ haremos accesibles (sin necesidad de acceder por dataframe$columna sino como variables) las columnas del data frame. \\  Mediante ''​attach(var)''​ haremos accesibles (sin necesidad de acceder por dataframe$columna sino como variables) las columnas del data frame. \\ 
-Para eliminar una columna de un data frame: ''​datos$beta2=NULL''​+Para eliminar una columna de un data frame: ''​datos$beta2=NULL'' ​ \\  
  
  
Línea 160: Línea 174:
 p.xk <- function(vec,​fac){nk <- as.vector(table(fac));​ n <- sum(nk); xk <- tapply(vec,​fac,​mean);​ p.xk <- function(vec,​fac){nk <- as.vector(table(fac));​ n <- sum(nk); xk <- tapply(vec,​fac,​mean);​
            txk <- (xk-mean(vec))/​(sd(vec)*sqrt((n-nk)/​(n*nk)));​ pxk <- pt(txk,​n-1,​lower.tail=F)}            txk <- (xk-mean(vec))/​(sd(vec)*sqrt((n-nk)/​(n*nk)));​ pxk <- pt(txk,​n-1,​lower.tail=F)}
 +</​code>​
 +Si en una función queremos devolver datos complejos haremos lo siguiente, esto sería: ''​cv = cvalidation(datos);​ cv$learn;''​
 +<​code>​
 +cvalidation = function (dframe) {
 +  nregs = nrow(dframe);​
 +  nind_group = nregs/10;
 +  ilearn = sample(1:​nregs,​ nind_group * 9);
 +  dlearn <- dframe[ilearn,​];​
 +  dtest <- dframe[-ilearn,​];​
 +  list(learn = dlearn, test = dtest);
 +}
 </​code>​ </​code>​
  
Línea 207: Línea 232:
   * ''​plot(x)'':​ Muestra en un gráfico de puntos los elentos de x. Podríamos hacer también ''​plot(x,​y)'',​ que sería poner x en función de y.   * ''​plot(x)'':​ Muestra en un gráfico de puntos los elentos de x. Podríamos hacer también ''​plot(x,​y)'',​ que sería poner x en función de y.
   * ''​hist(x)'':​ Muestra en un histograma la forma de x.   * ''​hist(x)'':​ Muestra en un histograma la forma de x.
 +
  
 ==== Como... ==== ==== Como... ====
   * **Hacer plots 3d**: los encontrarás en el paquete ''​rgl''​. Contiene funciones como ''​plot3d''​...   * **Hacer plots 3d**: los encontrarás en el paquete ''​rgl''​. Contiene funciones como ''​plot3d''​...
 +
 +===== Data Mining & Machine Learning =====
 +<​code>​
 +data(HouseVotes84,​ package="​mlbench"​)
 +model <- naiveBayes(Class ~ ., data = HouseVotes84) # Entrenamiento,​ predecir Class
 +pred <- predict(model,​ HouseVotes84[,​-1]) ​          # Prediccion (sobre los mismos datos)
 +table(pred, HouseVotes84$Class) ​                    # Tabla de confusión \ contingencia
 +</​code>​
 +
 +==== Naïve Bayes ====
  
 ===== Avanzado ===== ===== Avanzado =====
Línea 226: Línea 262:
  
 ===== Notas ===== ===== Notas =====
 +
 ==== Como... ==== ==== Como... ====
 === Crear una tabla === === Crear una tabla ===
Línea 234: Línea 271:
 colnames(pvalk.con) <- row.names(pvalcon) colnames(pvalk.con) <- row.names(pvalcon)
 </​code>​ </​code>​
 +=== Limpiar el workspace ===
 +<​code>​
 +rm(list=ls())
 +</​code>​
 +
 ==== Notas ==== ==== Notas ====
   * {{math_langs:​matlabr.pdf|Comparación de MATLAB y R}}, sacada de [[http://​www.math.umaine.edu/​~hiebeler/​comp/​matlabR.html]].   * {{math_langs:​matlabr.pdf|Comparación de MATLAB y R}}, sacada de [[http://​www.math.umaine.edu/​~hiebeler/​comp/​matlabR.html]].
math_langs/r.1304788535.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)