Representación de múltiples gráficos en componentes R personalizados

En los componentes R personalizados se pueden representar múltiples gráficos en escenarios que no sean HANA mediante la propiedad multiplot.

Ahora puede representar varios gráficos en componentes R personalizados. La propiedad no afecta al procedimiento ni a los componentes de IU para crear un componente R. Sin embargo, hay varias reglas que debe seguir al escribir una función R personalizada que usa la funciónmultiplot. A continuación encontrará las reglas junto con una función R personalizada a modo de ejemplo para describir los principios de escritura:

  • Cargue el paquete ggplot2 en la función R personalizada y use las funciones de representación ggplot2 para multiplot, por ejemplo, qplot y ggplot.
  • Establezca Expert Analytics en el modo multiplot con pa.config("multiplot","true") en la función de R personalizada.
  • Asigne cada gráfico a una variable y devuelva todas las variables de gráfico como una lista en la declaración return.

El siguiente código R muestra cómo representar varios gráficos en la función R personalizada. Para demostrar la función multiplot, no se usa ningún algoritmo predictivo en esta función R, pero puede añadir algoritmos predictivos tal como se indica en los comentarios insertados.

Nota Esta función R de muestra está configurada para usar el conjunto de datos mtcars. Para ejecutar esta función R de muestra, debe cargar primero el conjunto de datos mtcars.
myanalysisfunction <- function(mydataframe){

# Load ggplot2 library  library(ggplot2)

# Set PA to multiplot mode  pa.config("multiplot","true")

#######################################
#   Put predictive algorithms here
#######################################

# Plot a histogram chart using qplot and assign the chart to variable my_p1
my_p1 <- qplot(mydataframe$hp, geom="histogram")

# Plot a scatterplot chart and assign the chart to variable my_p2
my_p2 <- qplot(mydataframe$wt, mydataframe$hp)

# Plot a simple linear model and assign the chart to variable my_p3
my_model <- lm(mydataframe$wt ~ mydataframe$hp)
my_p3 <- qplot(hp, wt, data = mydataframe) + geom_abline(intercept=coef(my_model)[1],
slope=coef(my_model)[2])

# plot a scatterplot chart with a linear smooth line and assign the chart to variable my_p6
my_p5 <- ggplot(mydataframe, aes(x = wt, y=mpg), .~cyl)+ geom_point()
my_p6 <- my_p5 + geom_smooth(aes(group=cyl),method="lm")

# plot a pie chart and assign the chart to variable my_p7
my_p7 <- ggplot(data=mydataframe, aes(x=factor(1), fill= factor(cyl))) + geom_bar(width=1)+
coord_polar(theta="y")

# plot a time series chart and assign it to chart variable my_p8
year <- as.numeric(unlist(strsplit("1998 1999 2000 2001 2002 2003 2004 2005 2006 2007", "\\s+")))
revenue <- as.numeric(unlist(strsplit("10   6     13   14    12    8     10    10    6     9", "\\s+")))
mydataframe2 <- data.frame(year, revenue)
my_p8 <- ggplot(mydataframe2, aes(year, revenue)) + geom_bar(stat="identity", fill="white",
colour="black") + geom_line(colour="red") + stat_smooth(se=F, size=3)

# Return all chart variables and set metadata for each chart
return(list(out=mydataframe, charts=list(list(chart=my_p1, type="bar", name="chart 1"),
list(chart=my_p2, type="scatter plot", name="chart 2"), list(chart=my_p3, type="line", name="chart 3"),
list(chart=my_p8, type="time series", name="chart 8"), list(chart=my_p7, type="pie",
name="chart 7"), list(chart=my_p6, type="line", name="chart 6"))))
}

Debe ejecutar los gráficos para que se representen en la declaración return como elementos de la lista de gráficos. La declaración return es una lista multidimensional como esta:

return(list(…, charts=list(…, list(chart=chart_variable_1,name=”chart_name_1”,
type=”chart_type_1”), list(chart=chart_variable_2,name=”chart_name_2”,
type=”chart_type_2”), …), …))

Cada elemento de la lista de gráficos también es una lista que incluye información sobre un gráfico para representar, incluida la variable de gráfico (elemento de gráfico), el nombre de gráfico (elemento de nombre) y el tipo de gráfico (elemento de tipo). El nombre y el tipo de gráfico proporcionan información a los usuarios para diferenciar entre gráficos en la ventana de resultados. Se usan diferentes iconos para los distintos tipos de gráficos y el nombre de gráfico se muestra como una información sobre herramientas al pasar el cursor por el icono. No tiene que definir el nombre y el tipo de gráfico para representar varios gráficos, pero se recomienda encarecidamente.

Expert Analytics admite actualmente los siguientes tipos de gráfico:

  • bar
  • horizontal bar
  • bubble
  • confusion matrix
  • gain
  • lift
  • line
  • model accuracy
  • parallel coordinates
  • scatter plot
  • time series

Para otros tipos de gráficos que no se incluyen en esta lista, se usará un icono predeterminado para el gráfico.

La función multiplot no modifica la representación existente y no es necesario modificar la función R personalizada si solo se necesita una representación única.