[R-es] Convertir lista de precios a dolares por gramo

Marcelino De La Cruz Rot m@rce||no@de|@cruz @end|ng |rom urjc@e@
Vie Abr 17 18:46:53 CEST 2020


Hola:

Tambi�n se podr�a hacer con R base, usando la funci�n match:


precios$Peso.gr  <-  precios$Peso * ratios$Ratio[match(precios$Unidad, ratios$Unidad)]
precios$Precio.S  <-  precios$Precio * tipos$TC[match(precios$Pa�s, tipos$Pa�s)]
precios$Precio.S.gr  <-  precios$Precio.S/precios$Peso.gr
precios[,c("Producto", "Pa�s", "Precio.S.gr")]


Saludos


________________________________
De: R-help-es <r-help-es-bounces using r-project.org> en nombre de Emilio L. Cano <emilopezcano using gmail.com>
Enviado: viernes, 17 de abril de 2020 17:55
Para: residuo.solow using gmail.com <residuo.solow using gmail.com>
Cc: Lista R <r-help-es using r-project.org>
Asunto: Re: [R-es] Convertir lista de precios a dolares por gramo

Hola,

Hay muchas formas de hacerlo en una sola l�nea. A m� me gusta con dplyr, te pego debajo un ejemplo reproducible

Salud,

Emilio L. Cano
http://emilio.lcano.com

��
precios <- read.table(
  text ="Producto Pa�s Precio Unidad Peso
A AR 10 kg 12
B BR 210 lb 0,5
C UY 3,5 kg 90
A BR 3 kg 3
C CO 345 lb 7,6
A CO 1200 gr 23000",
  dec = ",", header = TRUE,
  stringsAsFactors = FALSE)

tipos <- read.table(
  text ="Pa�s TC
AR 12
BR 1,8
CO 45
UY 0,5",
  dec = ",", header = TRUE,
  stringsAsFactors = FALSE)

ratios <- read.table(
  text = "Unidad Ratio
kg 1000
lb 0,89
gr 1",
  dec = ",", header = TRUE,
  stringsAsFactors = FALSE)

library(dplyr)
precios %>%
  inner_join(tipos) %>%
  inner_join(ratios) %>%
  mutate(Precio2 = Precio*TC/(Peso/Ratio))

��



> El 17 abr 2020, a las 17:40, residuo.solow using gmail.com escribi�:
>
> Javier:
>
> Si lo empec� a hacer con if anidados pero me queda gigantesco.
>
> Saludos,
>
> Sebasti�n.
>
> Enviado desde Correo <https://go.microsoft.com/fwlink/?LinkId=550986> para Windows 10
>
> De: Javier Marcuzzi <mailto:javier.ruben.marcuzzi using gmail.com>
> Enviado: jueves, 16 de abril de 2020 19:16
> Para: Sebastian Kruk <mailto:residuo.solow using gmail.com>
> CC: Lista R <mailto:r-help-es using r-project.org>
> Asunto: Re: [R-es] Convertir lista de precios a dolares por gramo
>
> Estimado Sebastian Kruk
>
> Desde mi punto de vista es muy simple, varios If anidados, o en su defecto el condicional que a usted le resulte m�s c�modo.
>
> Javier Rub�n Marcuzzi
>
> El jue., 16 abr. 2020 a las 18:49, Sebastian Kruk (<residuo.solow using gmail.com <mailto:residuo.solow using gmail.com>>) escribi�:
> Estimados:
>
> Tengo tres data frame (datos inventados):
>
> A) Lista de precios de diferentes productos por paises.
>
> Producto Pa�s Precio Unidad Peso
> A AR 10 kg 12
> B BR 210 lb 0,5
> C UY 3,5 kg 90
> A BR 3 kg 3
> C CO 345 lb 7,6
> A CO 1200 gr 23000
>
> B) Tipo de cambio por pa�s
> Pa�s TC
> AR 12
> BR 1,8
> CO 45
> UY 0,5
>
> C)Ratio para pasar a gr.
> Unidad Ratio
> kg 1000
> lb 0,89
> gr 1
>
> Quiero obtener un nuevo data frame en que todos los precios est�n
> convertidos a d�lares y expresados en gramos
>
> Obtendr�a los valores de la siguiente manera:
>
> Producto Pa�s Precio
> A AR 10x12/(12x1000)
> B BR 210x1,8/(0,5/0,89)
> C UY 3,5x0,5/(90x1000)
> A BR 3x1,8x3/1000
> C CO 345x4,5/(7,6*0,89)
> A CO 1200x4,5/(23000x1)
>
> �Hay alguna forma sencilla de hacerlo?
>
> Saludos,
>
> Sebasti�n.
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org <mailto:R-help-es using r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org <mailto:R-help-es using r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>

        [[alternative HTML version deleted]]

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

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es