Hola a todos Empleando mis limitados conocimientos de R pude resolver un ejercicio elaborando un c�digo, estoy seguro que se puede simplificar, si alguien tiene alg�n tiempo libre agradecer�a me pudiera ayudar depurando el c�digo, lo adjunto junto con unas tablas que representan el inicio y final.
El ejercicio consiste en calcular la cantidad ideal de los Productos A y B, considerando su precio, el l�mite presupuestario y la utilidad que representan. Saludos. ### Creamos data_frame de cantidad y utilidad ### P1 <- data.frame( "Cantidad"= 0:10, "UtilidadA" = c("0","15","28","35","40","45","49","53","55","56","56"), "UtilidadB" = c("0","17","30","37","42","47","51","55","57","58","58")) Q UtilidadA UtilidadB 0 0 0 1 15 17 2 28 30 3 35 37 4 40 42 5 45 47 6 49 51 7 53 55 8 55 57 9 56 58 10 56 58 ### Creamos variables de precio y l�mite presupuestario ### PrecioA <- 12 PrecioB <- 16 L_prep <- 90 ### cambiamos clase ### P1$UtilidadA <- as.numeric(P1$UtilidadA) P1$UtilidadB <- as.numeric(P1$UtilidadB) ### Creamos vector de gasto en producto A ### Gasto_PA <- numeric(length(P1$Cantidad)) for(i in 1:length(P1$Cantidad)){ Gasto_PA[i] <- round((P1$Cantidad[i] *PrecioA),digits = 0) } ### Creamos vector de unidades B con relaci�n a A ### CestaB <- numeric(length(Gasto_PA)) for (i in 1:length(Gasto_PA)) { CestaB[i] <- round(((L_prep-Gasto_PA[i])/PrecioB),digits = 0) } ### Creamos vector de utilidad total ### library(dplyr) ## Del primer data frame obtenemos cantidad y utilidad de B ### > P2 <- data.frame(P1$Cantidad, P1$UtilidadB) ## Del primer data frame obtenemos cantidad y utilidad de A ### p3 <- select(P1,Cantidad,UtilidadA) ## Cambiamos nombre de columnas y tipo para unir data_frame ## CestaB <- data.frame(CestaB) colnames(CestaB)[1] <- "P1.Cantidad" ## Unimos Unidades de B con su utilidad manteniendo el orden ## P4 <- merge.data.frame(x=CestaB, y=P2, all.x = TRUE, sort = F) ## Unimos data frame de cantidad y utilidad de A con cantidad y utilidad de B ## P5 <- cbind(p3,P4) ## Renombramos columnas ## colnames(P5)[1] <- "CantidadA" colnames(P5)[3] <- "CantidadB" colnames(P5)[4] <- "UtilidadB" ## Creamos columna de utilidad total ## ## Este data frame muestra las combinaciones de A y B que se pueden adquirir con el l�mite presupuestario y la utilidad## P5$Utilidad_Total <- P5$UtilidadA+P5$UtilidadB CantidadA UtilidadA CantidadB UtilidadB Utilidad_Total 0 0 5 47 47 1 15 4 42 57 2 28 4 42 70 3 35 3 37 72 4 40 2 30 70 5 45 1 17 62 6 49 1 17 66 7 53 0 0 53 8 55 0 0 55 9 56 -1 NA NA 10 56 -1 NA NA ## Identificamos utilidad total m�xima ## utilidad_max <- which.max(P5$Utilidad_Total) ## Creamos data frame con combinaci�n de A y B que entrega utilidad m�xima ## fila_max <- P5[utilidad_max, ] print(fila_max) class(fila_max) ## Este data frame ser�a la salida en ShinyApp ## Gracias y saludos Cleiver Yam [[alternative HTML version deleted]]
_______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es