[R-es] Depuración de código

2024-02-06 Por tema Clei Y
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


Re: [R-es] Problemas para instalar Shiny en Mac

2023-12-05 Por tema Clei Y
Hola

Muchas gracias por la sugerencia Emilio, tenías toda la razón, mi versión de 
R-Studio era la última pero mi versión de R ya estaba obsoleta por lo que 
instalé la nueva y todo funciona de maravilla.

Como comentario adicional, en MacOS no tuve problema, pero en Windows tuve que 
configurar el R-Studio porque no reconocía la última versión instalada del R.

Saludos

Cleiver Yam

De: Emilio L. Cano 
Enviado: martes, 5 de diciembre de 2023 12:34 a. m.
Para: Eric 
Cc: Clei Y ; r-help-es@r-project.org 

Asunto: Re: [R-es] Problemas para instalar Shiny en Mac

Hola,

La otra solución es actualizar R a una versión más reciente (con la 3.6 es 
posible que esto te llegue a pasar con más paquetes, la versión actual es 
4.3.2). Si por tus requerimientos tienes que seguir usando la 3.6, entonces 
como dice Eric debes controlar también las versiones de los paquetes, y mejor 
aún si lo haces con renv (https://rstudio.github.io/renv/articles/renv.html)

Emilio


Emilio L. Cano
Tel: 665 676 225
http://emilio.lcano.com




El 5 dic 2023, a las 4:20, Eric  escribió:

Es un problema de dependencias, es decir, algunos de los paquetes necesarios 
para instalar Shiny no estan aun disponibles en la arquitectura y la version 
necesaria ...  yo lo resolvi haciendo un downgrade de la version del paquete 
principal que quieres instalar, en este caso Shiny ... asi, si usas una version 
mas antigua de Shiny, entonces si estaran disponibles los paquetes que 
necesitas en la version que necesitas.

Suerte, saludos !!

Eric.


On Mon, Dec 4, 2023 at 10:58 PM Clei Y 
mailto:cleiver_...@hotmail.com>> wrote:
Hola a todos

Intento instalar Shiny para usarlo en R-Studio en un equipo con sistema 
operativo macOS pero no he podido, si alguien tuvo el problema y lo resolvió, 
agradecería sugerencias.

Saludos

Cleiver Yam


___
R-help-es mailing list
R-help-es@r-project.org<mailto:R-help-es@r-project.org>
https://stat.ethz.ch/mailman/listinfo/r-help-es
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] Completar datos buscando información en otro Data Frame

2019-08-08 Por tema Clei Y


Hola a todos

Tengo una duda, puede ser un poco básica pero no encuentro la respuesta, tengo 
dos base de datos como la siguiente:

Data frame 1:

Id_1Id_2Dato
1   1   3
1   2   6
1   2   5
2   1   2
2   1   4
2   3   5


Data frame 2:
Id_1Id_2Calificación
1   1   10
1   2   8
2   1   9
2   3   6

Lo que necesito es que R tome las primeras dos columnas del data frame 1, 
realice la búsqueda en el data frame 2 y pueda agregar otra columna con el dato 
que le corresponda para quedar de la siguiente manera:

Data frame 1 modificada:
Id_1Id_2DatoCalificación
1   1   3   10
1   2   6   8
1   2   5   8
2   1   2   9
2   1   4   9
2   3   5   6

Estuve tratando con Merge pero el número de filas es distinto y me termina 
duplicando algunos registros. Es algo como la función BUSCARV del excel.

Saludos a todos

Cleiver Yam

[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif]
  Libre de virus. 
www.avast.com

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es